static void send_enter_request (ctx_t *ctx, barrier_t *b) { json_object *o = util_json_object_new_object (); util_json_object_add_string (o, "name", b->name); util_json_object_add_int (o, "count", b->count); util_json_object_add_int (o, "nprocs", b->nprocs); util_json_object_add_int (o, "hopcount", 1); flux_request_send (ctx->h, o, "xbarrier.enter"); json_object_put (o); }
static int exit_event_send (flux_t h, const char *name, int errnum) { json_object *o = util_json_object_new_object (); int rc; util_json_object_add_string (o, "name", name); util_json_object_add_int (o, "errnum", errnum); rc = flux_event_send (h, o, "xbarrier.exit"); json_object_put (o); return rc; }
static void send_enter_request (ctx_t *ctx, barrier_t *b) { json_object *o = util_json_object_new_object (); util_json_object_add_string (o, "name", b->name); util_json_object_add_int (o, "count", b->count); util_json_object_add_int (o, "nprocs", b->nprocs); util_json_object_add_int (o, "hopcount", 1); if (flux_json_request (ctx->h, FLUX_NODEID_UPSTREAM, FLUX_MATCHTAG_NONE, "barrier.enter", o) < 0) flux_log (ctx->h, LOG_ERR, "%s: flux_json_request: %s", __FUNCTION__, strerror (errno)); json_object_put (o); }
static int wait_for_lwj_watch_init (flux_t h, int64_t id) { int rc; json_object *rpc_o; json_object *rpc_resp; rpc_o = util_json_object_new_object (); util_json_object_add_string (rpc_o, "key", "lwj.next-id"); util_json_object_add_int64 (rpc_o, "val", id); rc = flux_json_rpc (h, FLUX_NODEID_ANY, "sim_sched.lwj-watch", rpc_o, &rpc_resp); if (rc >= 0) { util_json_object_get_int (rpc_resp, "rc", &rc); json_object_put (rpc_resp); } json_object_put (rpc_o); return rc; }