int pmix1_initialized(void) { pmix_status_t rc; rc = PMIx_Initialized(); return pmix1_convert_rc(rc); }
int pmix1_client_finalize(void) { pmix_status_t rc; rc = PMIx_Finalize(); return pmix1_convert_rc(rc); }
static void opmdx_response(int status, const char *data, size_t sz, void *cbdata, opal_pmix_release_cbfunc_t relcbfunc, void *relcbdata) { pmix_status_t rc; pmix1_opalcaddy_t *opalcaddy = (pmix1_opalcaddy_t*)cbdata; rc = pmix1_convert_rc(status); if (NULL != opalcaddy->mdxcbfunc) { opalcaddy->odmdxfunc = relcbfunc; opalcaddy->ocbdata = relcbdata; opalcaddy->mdxcbfunc(rc, data, sz, opalcaddy->cbdata, _data_release, opalcaddy); } else { OBJ_RELEASE(opalcaddy); } }
int pmix1_client_init(void) { opal_process_name_t pname; pmix_status_t rc; int dbg; opal_output_verbose(1, opal_pmix_base_framework.framework_output, "PMIx_client init"); if (0 < (dbg = opal_output_get_verbosity(opal_pmix_base_framework.framework_output))) { asprintf(&dbgvalue, "PMIX_DEBUG=%d", dbg); putenv(dbgvalue); } rc = PMIx_Init(&myproc); if (PMIX_SUCCESS == rc) { /* store our jobid and rank */ opal_convert_string_to_jobid(&pname.jobid, myproc.nspace); pname.vpid = myproc.rank; opal_proc_set_name(&pname); } return pmix1_convert_rc(rc); }
static void myerr(pmix_status_t status, pmix_proc_t procs[], size_t nprocs, pmix_info_t info[], size_t ninfo) { int rc; opal_list_t plist, ilist; opal_namelist_t *nm; opal_value_t *iptr; volatile int cond = 1; size_t n; /* convert the incoming status */ rc = pmix1_convert_rc(status); /* convert the array of procs */ OBJ_CONSTRUCT(&plist, opal_list_t); for (n=0; n < nprocs; n++) { nm = OBJ_NEW(opal_namelist_t); nm->name.jobid = strtoul(procs[n].nspace, NULL, 10); nm->name.vpid = procs[n].rank; opal_list_append(&plist, &nm->super); } /* convert the array of info */ OBJ_CONSTRUCT(&ilist, opal_list_t); for (n=0; n < ninfo; n++) { iptr = OBJ_NEW(opal_value_t); iptr->key = strdup(info[n].key); pmix1_value_unload(iptr, &info[n].value); opal_list_append(&plist, &iptr->super); } /* call the base errhandler */ opal_pmix_base_errhandler(rc, &plist, &ilist, completion_handler, (void *)&cond); PMIX_WAIT_FOR_COMPLETION(cond); OPAL_LIST_DESTRUCT(&plist); OPAL_LIST_DESTRUCT(&ilist); }
int pmix1_store_local(const opal_process_name_t *proc, opal_value_t *val) { pmix_value_t kv; pmix_status_t rc; pmix_proc_t p; if (NULL != proc) { /* convert the process jobid */ (void)strncpy(p.nspace, opal_convert_jobid_to_string(proc->jobid), PMIX_MAX_NSLEN); p.rank = proc->vpid; } else { /* use our name */ (void)strncpy(p.nspace, opal_convert_jobid_to_string(OPAL_PROC_MY_NAME.jobid), PMIX_MAX_NSLEN); p.rank = OPAL_PROC_MY_NAME.vpid; } PMIX_VALUE_CONSTRUCT(&kv); pmix1_value_load(&kv, val); rc = PMIx_Store_internal(&p, val->key, &kv); PMIX_VALUE_DESTRUCT(&kv); return pmix1_convert_rc(rc); }