int rp_link(uint64_t dir, const char *name, uint64_t link) { char *reply; if (!name) { return 1; } if (link && RP_PID(dir) != RP_PID(link)) { return 1; } reply = rcall(dir, rp_getkey(dir, AC_ALTER), "link %s %r", name, link); if (iserror(reply)) { errno = geterror(reply); free(reply); return 1; } free(reply); return 0; }
static void _sigwrap(struct msg *msg) { __raise(RP_PID(msg->source), msg->port); free(msg); }