diff options
Diffstat (limited to 'inherit.c')
-rw-r--r-- | inherit.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -36,21 +36,18 @@ static void register_listen_fd(int fd) { struct listener tmp; struct listener *ins; - int flags = NI_NUMERICHOST | NI_NUMERICSERV; - char hbuf[MOG_NI_MAXHOST]; - char sbuf[MOG_NI_MAXSERV]; + struct mog_ni ni; int rc; tmp.len = (socklen_t)sizeof(tmp.as); if (getsockname(fd, mog_sockaddr_sa(&tmp.as), &tmp.len) != 0) die_errno("getsockname(fd=%d) failed", fd); - rc = getnameinfo(mog_sockaddr_sa(&tmp.as), tmp.len, - hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), flags); + rc = mog_nameinfo(&tmp.as, tmp.len, &ni); if (rc != 0) - die("getnameinfo failed: %s", gai_strerror(rc)); + die("getnameinfo failed: %s (fd=%d)", gai_strerror(rc), fd); - syslog(LOG_INFO, "inherited %s:%s on fd=%d", hbuf, sbuf, fd); + syslog(LOG_INFO, "inherited %s%s on fd=%d", ni.ni_host, ni.ni_serv, fd); ins = xmalloc(sizeof(*ins)); *ins = tmp; @@ -58,7 +55,8 @@ static void register_listen_fd(int fd) switch (hash_insert_if_absent(listeners, ins, NULL)) { case 0: - die("duplicate listener %s:%s on fd=%d", hbuf, sbuf, fd); + die("duplicate listener %s%s on fd=%d", + ni.ni_host, ni.ni_serv, fd); break; case 1: /* success */ return; |