This source file includes following definitions.
- release_cb
- get_cb
- test_internal
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 #include "test_internal.h"
  14 
  15 static void release_cb(pmix_status_t status, void *cbdata)
  16 {
  17     int *ptr = (int*)cbdata;
  18     *ptr = 0;
  19 }
  20 
  21 static void get_cb(pmix_status_t status, pmix_value_t *kv, void *cbdata)
  22 {
  23     get_cbdata *cb = (get_cbdata*)cbdata;
  24     if (PMIX_SUCCESS == status) {
  25         pmix_value_xfer(cb->kv, kv);
  26     }
  27     cb->in_progress = 0;
  28     cb->status = status;
  29 }
  30 
  31 int test_internal(char *my_nspace, pmix_rank_t my_rank, test_params params) {
  32     int idx;
  33     char sval[PMIX_MAX_NSLEN];
  34     char key[PMIX_MAX_KEYLEN];
  35     pmix_value_t value;
  36     pmix_proc_t proc;
  37     pmix_status_t rc;
  38 
  39     PMIX_PROC_CONSTRUCT(&proc);
  40     (void)strncpy(proc.nspace, my_nspace, PMIX_MAX_NSLEN);
  41     proc.rank = my_rank;
  42 
  43     for (idx = 0; idx < params.test_internal; idx++) {
  44         memset(sval, 0, PMIX_MAX_NSLEN);
  45         sprintf(sval, "test_internal:%s:%d:%d", my_nspace, my_rank, idx);
  46 
  47         SET_KEY(key, 0, idx, 1);
  48         value.type = PMIX_STRING;
  49         value.data.string = sval;
  50         if (PMIX_SUCCESS != (rc = PMIx_Store_internal(&proc, key, &value))) {
  51             TEST_ERROR(("%s:%d: PMIx_Store_internal failed: %d", my_nspace, my_rank, rc));
  52             PMIX_PROC_DESTRUCT(&proc);
  53             return PMIX_ERROR;
  54         }
  55     }
  56 
  57     
  58     if (PMIX_SUCCESS != (rc = PMIx_Commit())) {
  59         TEST_ERROR(("%s:%d: PMIx_Commit failed: %d", my_nspace, my_rank, rc));
  60         PMIX_PROC_DESTRUCT(&proc);
  61         return PMIX_ERROR;
  62     }
  63 
  64     proc.rank = PMIX_RANK_WILDCARD;
  65     FENCE(1, 1, (&proc), 1);
  66     if (PMIX_SUCCESS != rc) {
  67         TEST_ERROR(("%s:%d: PMIx_Fence failed: %d", my_nspace, my_rank, rc));
  68         PMIX_PROC_DESTRUCT(&proc);
  69         return rc;
  70     }
  71 
  72     for (idx = 0; idx < params.test_internal; idx++) {
  73         memset(sval, 0, PMIX_MAX_NSLEN);
  74         sprintf(sval, "test_internal:%s:%d:%d", my_nspace, my_rank, idx);
  75 
  76         GET(string, sval, my_nspace, my_rank, 0, idx, 1, 1, 0);
  77         if (PMIX_SUCCESS != rc) {
  78             TEST_ERROR(("%s:%d: PMIx_Get of remote key on local proc", my_nspace, my_rank));
  79             PMIX_PROC_DESTRUCT(&proc);
  80             return PMIX_ERROR;
  81         }
  82     }
  83 
  84     PMIX_PROC_DESTRUCT(&proc);
  85     return PMIX_SUCCESS;
  86 }