Changeset 23057
- Timestamp:
- 02/11/07 21:21:36 (22 months ago)
- Files:
-
- 1 modified
-
trunk/launchd/src/launchd_core_logic.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/launchd/src/launchd_core_logic.c
r23056 r23057 274 274 mode_t mask; 275 275 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 ;276 currently_ignored:1, forced_peers_to_demand_mode:1, setnice:1, hopefully_exits_last:1, removal_pending:1; 277 277 char label[0]; 278 278 }; … … 600 600 struct semaphoreitem *si; 601 601 602 job_log(j, LOG_DEBUG, "Removed"); 602 if (j->p) { 603 job_log(j, LOG_DEBUG, "Removal pended until the job exits."); 604 605 if (!j->removal_pending) { 606 j->removal_pending = true; 607 job_stop(j); 608 } 609 610 return; 611 } 603 612 604 613 if (j->forced_peers_to_demand_mode) { 605 614 job_set_global_on_demand(j, false); 606 }607 608 if (!job_assumes(j, j->p == 0)) {609 job_assumes(j, kill(j->p, SIGKILL) != -1);610 job_reap(j);611 615 } 612 616 … … 689 693 jobmgr_tickle(j->mgr); 690 694 } 695 696 job_log(j, LOG_DEBUG, "Removed"); 691 697 692 698 free(j); … … 2850 2856 } 2851 2857 job_log(j, LOG_INFO, "Exited. Was only configured to run once."); 2858 return true; 2859 } else if (j->removal_pending) { 2860 job_log(j, LOG_DEBUG, "Exited while removal was pending."); 2852 2861 return true; 2853 2862 } else if (j->mgr->shutting_down) {

