Changeset 87 for trunk/pbs_drmaa/job.c
- Timestamp:
- 02/11/13 14:10:39 (13 years ago)
- File:
-
- 1 edited
-
trunk/pbs_drmaa/job.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pbs_drmaa/job.c
r85 r87 82 82 fsd_log_enter(( "({job_id=%s}, action=%d)", self->job_id, action )); 83 83 84 while ( true ) 85 { 86 switch( action ) 87 { 88 /* 89 * We cannot know whether we did suspend job 90 * in other way than remembering this inside DRMAA session. 91 */ 92 case DRMAA_CONTROL_SUSPEND: 93 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGSTOP"); 94 self->flags |= FSD_JOB_SUSPENDED; 95 break; 96 case DRMAA_CONTROL_RESUME: 97 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGCONT"); 98 self->flags &= ~FSD_JOB_SUSPENDED; 99 break; 100 case DRMAA_CONTROL_HOLD: 101 session->pbs_connection->holdjob( session->pbs_connection, (char*)job_id ); 102 self->flags |= FSD_JOB_HOLD; 103 break; 104 case DRMAA_CONTROL_RELEASE: 105 session->pbs_connection->rlsjob( session->pbs_connection, (char*)job_id ); 106 self->flags &= ~FSD_JOB_HOLD; 107 break; 108 case DRMAA_CONTROL_TERMINATE: 109 session->pbs_connection->deljob( session->pbs_connection, (char*)job_id ); 110 /* TODO: make deldelay configurable ???: 111 * deldelay=N -- delay between SIGTERM and SIGKILL (default 0) */ 112 self->flags &= FSD_JOB_TERMINATED_MASK; 113 if( (self->flags & FSD_JOB_TERMINATED) == 0 ) 114 self->flags |= FSD_JOB_TERMINATED | FSD_JOB_ABORTED; 115 break; 116 } 84 switch( action ) 85 { 86 /* 87 * We cannot know whether we did suspend job 88 * in other way than remembering this inside DRMAA session. 89 */ 90 case DRMAA_CONTROL_SUSPEND: 91 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGSTOP"); 92 self->flags |= FSD_JOB_SUSPENDED; 93 break; 94 case DRMAA_CONTROL_RESUME: 95 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGCONT"); 96 self->flags &= ~FSD_JOB_SUSPENDED; 97 break; 98 case DRMAA_CONTROL_HOLD: 99 session->pbs_connection->holdjob( session->pbs_connection, (char*)job_id ); 100 self->flags |= FSD_JOB_HOLD; 101 break; 102 case DRMAA_CONTROL_RELEASE: 103 session->pbs_connection->rlsjob( session->pbs_connection, (char*)job_id ); 104 self->flags &= ~FSD_JOB_HOLD; 105 break; 106 case DRMAA_CONTROL_TERMINATE: 107 session->pbs_connection->deljob( session->pbs_connection, (char*)job_id ); 108 /* TODO: make deldelay configurable ???: 109 * deldelay=N -- delay between SIGTERM and SIGKILL (default 0) */ 110 self->flags &= FSD_JOB_TERMINATED_MASK; 111 if( (self->flags & FSD_JOB_TERMINATED) == 0 ) 112 self->flags |= FSD_JOB_TERMINATED | FSD_JOB_ABORTED; 113 break; 117 114 } 118 115
Note: See TracChangeset
for help on using the changeset viewer.
