Projects
Browse Source     Search     Timeline     Wiki

Changeset 23618

Show
Ignore:
Timestamp:
2008-05-02 16:19:24 (4 months ago)
Author:
zarzycki@…
Message:

<rdar://problem/5875034> 10A52: Stuck at an empty desktop after changing homedirs
<rdar://problem/5871441> Investigation: Accounting for transient processes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/launchd/src/launchd_core_logic.c

    r23610 r23618  
    325325static void jobmgr_log_bug(jobmgr_t jm, unsigned int line); 
    326326 
    327 #define DO_RUSAGE_SUMMATION 0 
    328  
    329327#define AUTO_PICK_LEGACY_LABEL (const char *)(~0) 
    330328 
     
    344342        SLIST_HEAD(, semaphoreitem) semaphores; 
    345343        SLIST_HEAD(, waiting_for_removal) removal_watchers; 
    346 #if DO_RUSAGE_SUMMATION 
    347344        struct rusage ru; 
    348 #endif 
    349345        cpu_type_t *j_binpref; 
    350346        size_t j_binpref_cnt; 
     
    922918        ipc_close_all_with_job(j); 
    923919 
    924 #if DO_RUSAGE_SUMMATION 
    925920        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", 
    926921                        j->ru.ru_utime.tv_sec, j->ru.ru_utime.tv_usec, 
     
    931926                        j->ru.ru_msgsnd, j->ru.ru_msgrcv, 
    932927                        j->ru.ru_nsignals, j->ru.ru_nvcsw, j->ru.ru_nivcsw); 
    933 #endif 
    934928 
    935929        if (j->forced_peers_to_demand_mode) { 
     
    23942388        } 
    23952389 
    2396 #if DO_RUSAGE_SUMMATION 
    23972390        timeradd(&ru.ru_utime, &j->ru.ru_utime, &j->ru.ru_utime); 
    23982391        timeradd(&ru.ru_stime, &j->ru.ru_stime, &j->ru.ru_stime); 
     
    24112404        j->ru.ru_nvcsw += ru.ru_nvcsw; 
    24122405        j->ru.ru_nivcsw += ru.ru_nivcsw; 
    2413 #endif 
    24142406 
    24152407        if (WIFEXITED(status) && WEXITSTATUS(status) != 0) { 
     
    31723164        /* This function is all about 5201578 */ 
    31733165 
    3174         const char *shell_env_var = getenv("SHELL"); 
    31753166        const char *home_env_var = getenv("HOME"); 
    31763167        const char *user_env_var = getenv("USER"); 
     
    31843175 
    31853176 
    3186         if (!job_assumes(j, shell_env_var && home_env_var && user_env_var && logname_env_var 
     3177        if (!job_assumes(j, home_env_var && user_env_var && logname_env_var 
    31873178                                && strcmp(user_env_var, logname_env_var) == 0)) { 
    31883179                goto out_bad; 
     
    32093200        strlcpy(homedir, pwe->pw_dir, sizeof(homedir)); 
    32103201 
    3211         if (strcmp(shellpath, shell_env_var) != 0) { 
    3212                 job_log(j, LOG_ERR, "The %s environmental variable changed out from under us!", "SHELL"); 
    3213                 goto out_bad; 
    3214         } 
    32153202        if (strcmp(loginname, logname_env_var) != 0) { 
    32163203                job_log(j, LOG_ERR, "The %s environmental variable changed out from under us!", "USER"); 
     
    32343221        return; 
    32353222out_bad: 
     3223#if 0 
    32363224        job_assumes(j, runtime_kill(getppid(), SIGTERM) != -1); 
    32373225        _exit(EXIT_FAILURE); 
     3226#else 
     3227        job_log(j, LOG_WARNING, "In a future build of the OS, this error will be fatal."); 
     3228#endif 
    32383229} 
    32393230