diff --git a/include/margo.h b/include/margo.h index 39fa8029d52826419b5a3cd239568b093d419b35..f3666a2c14c9c0d295e0a01c76afbf90f069dc59 100644 --- a/include/margo.h +++ b/include/margo.h @@ -20,6 +20,7 @@ struct margo_instance; typedef struct margo_instance* margo_instance_id; #define MARGO_INSTANCE_NULL ((margo_instance_id)NULL) +#define MARGO_DEFAULT_MPLEX_ID 0 /** diff --git a/src/margo.c b/src/margo.c index e36a2bf39566f5540cde6ef007d859332a49d0c1..86f4fa277b7036852ebe1a229078d211934bd620 100644 --- a/src/margo.c +++ b/src/margo.c @@ -833,9 +833,9 @@ int margo_register_mplex(margo_instance_id mid, hg_id_t id, uint32_t mplex_id, A struct mplex_key key; struct mplex_element *element; - /* mplex_id can't be zero; that's the default handler pool */ - if(!mplex_id) - return(-1); + /* nothing to do, we'll let the handler pool take this directly */ + if(mplex_id == MARGO_DEFAULT_MPLEX_ID) + return(0); memset(&key, 0, sizeof(key)); key.id = id;