if (errno==EINTR) continue;
FAIL("waitpid for authbind");
}
- if (WIFSIGNALED(status)) {
- lg_perror(FAIL_LG,0,"authbind died on signal %s (%d)",
- strsignal(WTERMSIG(status)),WTERMSIG(status));
- goto failed;
- }
- if (WIFEXITED(status) && WEXITSTATUS(status)!=0) {
- lg_perror(FAIL_LG,0,
- "authbind died with error exit status %d",
- WEXITSTATUS(status));
+ if (status) {
+ lg_exitstatus(FAIL_LG,status,"authbind");
goto failed;
}
} else {
void udp_socks_register(struct udpcommon *uc, struct udpsocks *socks)
{
socks->uc=uc;
- register_for_poll(socks,udp_socks_beforepoll,udp_socks_afterpoll,"udp");
+ socks->interest=
+ register_for_poll(socks,udp_socks_beforepoll,udp_socks_afterpoll,"udp");
+}
+
+void udp_socks_deregister(struct udpcommon *uc, struct udpsocks *socks)
+{
+ socks->uc=uc;
+ deregister_for_poll(socks->interest);
}
static void udp_phase_hook(void *sst, uint32_t new_phase)