[launchd-changes] [23618] trunk/launchd/src/launchd_core_logic.c
source_changes at macosforge.org
source_changes at macosforge.org
Fri May 2 16:19:25 PDT 2008
Revision: 23618
http://trac.macosforge.org/projects/launchd/changeset/23618
Author: zarzycki at apple.com
Date: 2008-05-02 16:19:24 -0700 (Fri, 02 May 2008)
Log Message:
-----------
<rdar://problem/5875034> 10A52: Stuck at an empty desktop after changing homedirs
<rdar://problem/5871441> Investigation: Accounting for transient processes
Modified Paths:
--------------
trunk/launchd/src/launchd_core_logic.c
Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c 2008-05-02 22:58:06 UTC (rev 23617)
+++ trunk/launchd/src/launchd_core_logic.c 2008-05-02 23:19:24 UTC (rev 23618)
@@ -324,8 +324,6 @@
/* static void jobmgr_log_error(jobmgr_t jm, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4))); */
static void jobmgr_log_bug(jobmgr_t jm, unsigned int line);
-#define DO_RUSAGE_SUMMATION 0
-
#define AUTO_PICK_LEGACY_LABEL (const char *)(~0)
struct job_s {
@@ -343,9 +341,7 @@
SLIST_HEAD(, machservice) machservices;
SLIST_HEAD(, semaphoreitem) semaphores;
SLIST_HEAD(, waiting_for_removal) removal_watchers;
-#if DO_RUSAGE_SUMMATION
struct rusage ru;
-#endif
cpu_type_t *j_binpref;
size_t j_binpref_cnt;
mach_port_t j_port;
@@ -921,7 +917,6 @@
ipc_close_all_with_job(j);
-#if DO_RUSAGE_SUMMATION
job_log(j, LOG_INFO, "Total rusage: utime %ld.%06u stime %ld.%06u maxrss %lu ixrss %lu idrss %lu isrss %lu minflt %lu majflt %lu nswap %lu inblock %lu oublock %lu msgsnd %lu msgrcv %lu nsignals %lu nvcsw %lu nivcsw %lu",
j->ru.ru_utime.tv_sec, j->ru.ru_utime.tv_usec,
j->ru.ru_stime.tv_sec, j->ru.ru_stime.tv_usec,
@@ -930,7 +925,6 @@
j->ru.ru_nswap, j->ru.ru_inblock, j->ru.ru_oublock,
j->ru.ru_msgsnd, j->ru.ru_msgrcv,
j->ru.ru_nsignals, j->ru.ru_nvcsw, j->ru.ru_nivcsw);
-#endif
if (j->forced_peers_to_demand_mode) {
job_set_global_on_demand(j, false);
@@ -2393,7 +2387,6 @@
job_log(j, LOG_INFO, "Exited %lld.%06lld seconds after %s was sent", td_sec, td_usec, signal_to_C_name(SIGTERM));
}
-#if DO_RUSAGE_SUMMATION
timeradd(&ru.ru_utime, &j->ru.ru_utime, &j->ru.ru_utime);
timeradd(&ru.ru_stime, &j->ru.ru_stime, &j->ru.ru_stime);
j->ru.ru_maxrss += ru.ru_maxrss;
@@ -2410,7 +2403,6 @@
j->ru.ru_nsignals += ru.ru_nsignals;
j->ru.ru_nvcsw += ru.ru_nvcsw;
j->ru.ru_nivcsw += ru.ru_nivcsw;
-#endif
if (WIFEXITED(status) && WEXITSTATUS(status) != 0) {
job_log(j, LOG_WARNING, "Exited with exit code: %d", WEXITSTATUS(status));
@@ -3171,7 +3163,6 @@
{
/* This function is all about 5201578 */
- const char *shell_env_var = getenv("SHELL");
const char *home_env_var = getenv("HOME");
const char *user_env_var = getenv("USER");
const char *logname_env_var = getenv("LOGNAME");
@@ -3183,7 +3174,7 @@
struct passwd *pwe;
- if (!job_assumes(j, shell_env_var && home_env_var && user_env_var && logname_env_var
+ if (!job_assumes(j, home_env_var && user_env_var && logname_env_var
&& strcmp(user_env_var, logname_env_var) == 0)) {
goto out_bad;
}
@@ -3208,10 +3199,6 @@
strlcpy(loginname, pwe->pw_name, sizeof(loginname));
strlcpy(homedir, pwe->pw_dir, sizeof(homedir));
- if (strcmp(shellpath, shell_env_var) != 0) {
- job_log(j, LOG_ERR, "The %s environmental variable changed out from under us!", "SHELL");
- goto out_bad;
- }
if (strcmp(loginname, logname_env_var) != 0) {
job_log(j, LOG_ERR, "The %s environmental variable changed out from under us!", "USER");
goto out_bad;
@@ -3233,8 +3220,12 @@
return;
out_bad:
+#if 0
job_assumes(j, runtime_kill(getppid(), SIGTERM) != -1);
_exit(EXIT_FAILURE);
+#else
+ job_log(j, LOG_WARNING, "In a future build of the OS, this error will be fatal.");
+#endif
}
void
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20080502/1b837e0c/attachment.html
More information about the launchd-changes
mailing list