fsd_job_t * slurmdrmaa_job_new( char *job_id ) { slurmdrmaa_job_t *self = NULL; self = (slurmdrmaa_job_t*)fsd_job_new( job_id ); fsd_realloc( self, 1, slurmdrmaa_job_t ); self->super.control = slurmdrmaa_job_control; self->super.update_status = slurmdrmaa_job_update_status; self->super.on_missing = slurmdrmaa_job_on_missing; self->old_priority = UINT32_MAX; self->user_suspended = true; return (fsd_job_t*)self; }
fsd_job_t * lsfdrmaa_job_new( char *job_id ) { lsfdrmaa_job_t *self = NULL; LS_LONG_INT int_job_id; int_job_id = lsfdrmaa_job_id_atoi( job_id ); self = (lsfdrmaa_job_t*)fsd_job_new( job_id ); fsd_realloc( self, 1, lsfdrmaa_job_t ); self->super.control = lsfdrmaa_job_control; self->super.update_status = lsfdrmaa_job_update_status; self->read_job_info = lsfdrmaa_job_read_job_info; self->super.on_missing = lsfdrmaa_job_on_missing; self->int_job_id = int_job_id; return (fsd_job_t*)self; }
fsd_drmaa_session_t * slurmdrmaa_session_new( const char *contact ) { slurmdrmaa_session_t *volatile self = NULL; TRY { self = (slurmdrmaa_session_t*)fsd_drmaa_session_new(contact); fsd_realloc( self, 1, slurmdrmaa_session_t ); self->super.run_job = slurmdrmaa_session_run_job; self->super.run_bulk = slurmdrmaa_session_run_bulk; self->super.new_job = slurmdrmaa_session_new_job; self->super.load_configuration( &self->super, "slurm_drmaa" ); } EXCEPT_DEFAULT { fsd_free( self ); fsd_exc_reraise(); } END_TRY return (fsd_drmaa_session_t*)self; }