From 0ad9a1f134cd85fd69dc9c6939379e3e891d4385 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Sun, 28 Aug 2011 19:48:01 +1000 Subject: [PATCH] WIN32: win32 does not have poll() add trivial replacement function --- lib/libnfs.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/lib/libnfs.c b/lib/libnfs.c index 5fd91ea..8a0adba 100644 --- a/lib/libnfs.c +++ b/lib/libnfs.c @@ -3081,3 +3081,35 @@ const char *nfs_get_server(struct nfs_context *nfs) { const char *nfs_get_export(struct nfs_context *nfs) { return nfs->export; } + + +#if defined(WIN32) +int poll(struct pollfd *fds, int nfsd, int timeout) +{ + fd_set rfds, wfds, efds; + int ret; + + FD_ZERO(&rfds); + FD_ZERO(&wfds); + FD_ZERO(&efds); + if (fds->events & POLLIN) { + FD_SET(fds->fd, &rfds); + } + if (fds->events & POLLOUT) { + FD_SET(fds->fd, &wfds); + } + FD_SET(fds->fd, &efds); + select(fds->fd + 1, &rfds, &wfds, &efds, NULL); + fds->revents = 0; + if (FD_ISSET(fds->fd, &rfds)) { + fds->revents |= POLLIN; + } + if (FD_ISSET(fds->fd, &wfds)) { + fds->revents |= POLLOUT; + } + if (FD_ISSET(fds->fd, &efds)) { + fds->revents |= POLLHUP; + } +} +#endif + -- 2.34.1