static void psmx_set_epaddr_context(struct psmx_fid_domain *domain, psm_epid_t epid, psm_epaddr_t epaddr) { struct psmx_epaddr_context *context; context = (void *)psm_epaddr_getctxt(epaddr); if (context) { if (context->domain != domain || context->epid != epid) { FI_WARN(&psmx_prov, FI_LOG_AV, "domain or epid doesn't match\n"); context = NULL; } } if (context) return; context = malloc(sizeof *context); if (!context) { FI_WARN(&psmx_prov, FI_LOG_AV, "cannot allocate context\n"); return; } context->domain = domain; context->epid = epid; psm_epaddr_setctxt(epaddr, context); }
static void psmx_set_epaddr_context(struct psmx_fid_domain *domain, psm_epid_t epid, psm_epaddr_t epaddr) { struct psmx_epaddr_context *context; context = (void *)psm_epaddr_getctxt(epaddr); if (context) { if (context->domain != domain || context->epid != epid) { fprintf(stderr, "%s: domain or epid doesn't match\n", __func__); context = NULL; } } if (context) return; context = malloc(sizeof *context); if (!context) { fprintf(stderr, "%s: cannot allocate context\n", __func__); return; } context->domain = domain; context->epid = epid; psm_epaddr_setctxt(epaddr, context); }