diff --git a/maestro/ofi.c b/maestro/ofi.c index c61d1d902cf3056536f0813d7f6e6fb4d7da4ef4..91806e75f47d8aed3a72a62968154b6d051d1420 100644 --- a/maestro/ofi.c +++ b/maestro/ofi.c @@ -2715,7 +2715,10 @@ mstro_ofi__check_and_handle_cq(struct mstro_endpoint *ep, } if(re_post) { - ; /* fresh receive will be posted later, and slot messages have no completion watchers */ + /* fresh receive has been posted earlier, and slot messages have no completion watchers */ + DEBUG("slot message handled, cleaning up envelope and ctx\n"); + mstro_msg_envelope_free(ctx->msg); + status = mstro_ofi__msg_context_destroy(ctx); } else { /* other recv */ DEBUG("non-slot message, cleaning up\n");