Projects
Browse Source     Search     Timeline     Wiki

Changeset 23060

Show
Ignore:
Timestamp:
02/13/07 17:52:08 (22 months ago)
Author:
zarzycki@…
Message:

<rdar://problem/4922374> Let the stdout/sterr pipe linger longer for GUI applications

Files:
1 modified

Legend:

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

    r23059 r23060  
    274274        mode_t mask; 
    275275        unsigned int globargv:1, wait4debugger:1, unload_at_exit:1, stall_before_exec:1, only_once:1, 
    276                      currently_ignored:1, forced_peers_to_demand_mode:1, setnice:1, hopefully_exits_last:1, removal_pending:1; 
     276                     currently_ignored:1, forced_peers_to_demand_mode:1, setnice:1, hopefully_exits_last:1, removal_pending:1, 
     277                     wait4pipe_eof:1; 
    277278        char label[0]; 
    278279}; 
     
    870871 
    871872        jr->unload_at_exit = true; 
     873        jr->wait4pipe_eof = true; 
    872874        jr->stall_before_exec = w4d; 
    873875 
     
    16381640        job_log(j, LOG_DEBUG, "Reaping"); 
    16391641 
    1640         if (j->log_redirect_fd) { 
     1642        if (j->log_redirect_fd && !j->wait4pipe_eof) { 
    16411643                job_assumes(j, close(j->log_redirect_fd) != -1); 
    16421644                j->log_redirect_fd = 0; 
     
    17741776                job_assumes(j, close(j->log_redirect_fd) != -1); 
    17751777                j->log_redirect_fd = 0; 
     1778                job_dispatch(j, false); 
    17761779        } else if (job_assumes(j, rsz != -1)) { 
    17771780                buf[rsz] = '\0'; 
     
    29973000        } 
    29983001 
     3002        if (j->wait4pipe_eof && j->log_redirect_fd) { 
     3003                return true; 
     3004        } 
     3005 
    29993006        if (j->p) { 
    30003007                return true;