Projects
Browse Source     Search     Timeline     Wiki

Changeset 23396

Show
Ignore:
Timestamp:
09/17/07 13:00:36 (15 months ago)
Author:
zarzycki@…
Message:

More documentation.

Files:
1 modified

Legend:

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

    r23395 r23396  
    19681968                killpg(j->p, SIGKILL); 
    19691969 
     1970                /* 
     1971                 * 5020256 
     1972                 * 
     1973                 * The current implementation of ptrace() causes the traced process to 
     1974                 * be abducted away from the true parent and adopted by the tracer. 
     1975                 * 
     1976                 * Once the tracing process relinquishes control, the kernel then 
     1977                 * restores the true parent/child relationship. 
     1978                 * 
     1979                 * Unfortunately, the wait*() family of APIs is unaware of the temporarily 
     1980                 * data structures changes, and they return an error if reality hasn't 
     1981                 * been restored by the time they are called. 
     1982                 */ 
    19701983                if (!job_assumes(j, wait4(j->p, &status, 0, &ru) != -1)) { 
    19711984                        job_log(j, LOG_NOTICE, "Working around 5020256. Assuming the job crashed.");