bool OsProc::ShutdownGraceful() { if ( is_suspended ) { Continue(); } requested_exit = true; if ( findRmKillSig(JobAd) != -1 ) { daemonCore->Send_Signal(JobPid, rm_kill_sig); } else { daemonCore->Send_Signal(JobPid, soft_kill_sig); } return false; // return false says shutdown is pending }
void UserProc::initKillSigs( void ) { int sig; sig = findSoftKillSig( JobAd ); if( sig >= 0 ) { soft_kill_sig = sig; } else { soft_kill_sig = SIGTERM; } sig = findRmKillSig( JobAd ); if( sig >= 0 ) { rm_kill_sig = sig; } else { rm_kill_sig = SIGTERM; } sig = findHoldKillSig( JobAd ); if( sig >= 0 ) { hold_kill_sig = sig; } else { hold_kill_sig = SIGTERM; } const char* tmp = signalName( soft_kill_sig ); dprintf( D_FULLDEBUG, "%s KillSignal: %d (%s)\n", name ? name : "Main job", soft_kill_sig, tmp ? tmp : "Unknown" ); tmp = signalName( rm_kill_sig ); dprintf( D_FULLDEBUG, "%s RmKillSignal: %d (%s)\n", name ? name : "Main job", rm_kill_sig, tmp ? tmp : "Unknown" ); tmp = signalName( hold_kill_sig ); dprintf( D_FULLDEBUG, "%s HoldKillSignal: %d (%s)\n", name ? name : "Main job", hold_kill_sig, tmp ? tmp : "Unknown" ); }