diff options
Diffstat (limited to 'lib/libnetgraph/msg.c')
| -rw-r--r-- | lib/libnetgraph/msg.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/libnetgraph/msg.c b/lib/libnetgraph/msg.c index 8b4ca06a7166..534d1d181d48 100644 --- a/lib/libnetgraph/msg.c +++ b/lib/libnetgraph/msg.c @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include <sys/types.h> +#include <sys/socket.h> #include <stdarg.h> #include <netgraph/ng_message.h> #include <netgraph/ng_socket.h> @@ -234,16 +235,17 @@ NgDeliverMsg(int cs, const char *path, /* Wait for reply if there should be one. */ if (msg->header.cmd & NGM_HASREPLY) { - fd_set rfds; + struct pollfd rfds; int n; - FD_ZERO(&rfds); - FD_SET(cs, &rfds); - n = select(cs + 1, &rfds, NULL, NULL, NULL); + rfds.fd = cs; + rfds.events = POLLIN; + rfds.revents = 0; + n = poll(&rfds, 1, INFTIM); if (n == -1) { errnosv = errno; if (_gNgDebugLevel >= 1) - NGLOG("select"); + NGLOG("poll"); rtn = -1; } } |
