Changeset 94 for trunk/pbs_drmaa
- Timestamp:
- 11/15/13 16:10:32 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/pbs_drmaa/pbs_conn.c
r92 r94 154 154 } 155 155 156 #define HAS_PBS_SUBMIT_HASH 157 #ifdef HAS_PBS_SUBMIT_HASH 158 159 #include <qsub_functions.h> 160 161 void set_job_defaults(job_info *ji) { 162 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_c, CHECKPOINT_UNSPECIFIED, STATIC_DATA); 163 164 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_h, NO_HOLD, STATIC_DATA); 165 166 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_j, NO_JOIN, STATIC_DATA); 167 168 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_k, NO_KEEP, STATIC_DATA); 169 170 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_m, MAIL_AT_ABORT, STATIC_DATA); 171 172 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_p, DEFAULT_PRIORITY, STATIC_DATA); 173 174 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_r, "FALSE", STATIC_DATA); 175 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_f, "FALSE", STATIC_DATA); 176 177 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->client_attr, "pbs_dprefix", "#PBS", STATIC_DATA); 178 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_job_radix, "0", STATIC_DATA); 179 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji->mm, &ji->job_attr, ATTR_v, ""); 180 } 181 182 183 static char *pbs_submit_4_wrapper(int connection_fd, struct attropl *attrib, char *script, char *destination) 184 { 185 char *new_jobname = NULL; 186 char *jobname_copy = NULL; 187 char *errmsg = NULL; 188 job_info ji; 189 int local_errno = 0; 190 struct attropl *p; 191 192 memset(&ji, 0, sizeof(job_info)); 193 194 if (_Z11memmgr_initPP6memmgri(&ji.mm, 8192) != PBSE_NONE) /* do not want to use g++ just for this file*/ 195 { 196 pbsdrmaa_exc_raise_pbs( "memmgr_init", connection_fd); 197 } 198 199 set_job_defaults(&ji); 200 201 for (p = attrib; p; p = p->next) { 202 if (p->resource) { 203 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji.mm, &ji.res_attr, p->resource, p->value); 204 } else { 205 _Z16hash_add_or_exitPP6memmgrPP8job_dataPKcS6_i(&ji.mm, &ji.job_attr, p->name, p->value); 206 } 207 } 208 209 210 pbs_errno = pbs_submit_hash( 211 connection_fd, 212 &ji.mm, 213 ji.job_attr, 214 ji.res_attr, 215 script, 216 destination, 217 NULL, 218 &new_jobname, 219 &errmsg); 220 221 fsd_log_info(("pbs_submit_hash(%s,%s) = %d (jobid=%s)", script, destination, local_errno, new_jobname)); 222 223 jobname_copy = fsd_strdup(new_jobname); 224 225 _Z14memmgr_destroyPP6memmgr(&ji.mm); 226 227 return jobname_copy; 228 } 229 #endif 230 156 231 char* 157 232 pbsdrmaa_pbs_submit( pbsdrmaa_pbs_conn_t *self, struct attropl *attrib, char *script, char *destination ) … … 170 245 171 246 retry: 247 248 #ifdef HAS_PBS_SUBMIT_HASH 249 job_id = pbs_submit_4_wrapper(self->connection_fd, attrib, script, destination); 250 #else 172 251 job_id = pbs_submit(self->connection_fd, attrib, script, destination, NULL); 252 #endif 173 253 174 254 fsd_log_info(("pbs_submit(%s, %s) = %s", script, destination, job_id));
Note: See TracChangeset
for help on using the changeset viewer.