Show
Ignore:
Timestamp:
11/01/07 19:25:10 (1 year ago)
Author:
morris
Message:

Wait with WNOHANG

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredServer/trunk/WCDashboardController.m

    r4611 r5029  
    226226        NSUInteger              i, argc; 
    227227        int                             status; 
     228        pid_t                   pid; 
    228229 
    229230        argc = [arguments count]; 
     
    240241                                                                                         argv, 
    241242                                                                                         &fp); 
    242         wait(&status); 
    243243        free(argv); 
    244244         
     
    249249        } 
    250250         
    251         fileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fileno(fp) closeOnDealloc:YES]; 
    252         data = [fileHandle availableData]; 
    253         [[WCLogController logController] log:[NSString stringWithData:data encoding:NSUTF8StringEncoding]]; 
    254         [fileHandle release]; 
     251        pid = wait3(&status, WNOHANG, NULL); 
     252 
     253        if(pid > 0) { 
     254                fileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fileno(fp) closeOnDealloc:NO]; 
     255                data = [fileHandle availableData]; 
     256                [[WCLogController logController] log:[NSString stringWithData:data encoding:NSUTF8StringEncoding]]; 
     257                [fileHandle release]; 
     258        } 
     259         
     260        fclose(fp); 
    255261         
    256262        return YES;