mirror of
https://github.com/openvswitch/ovs
synced 2025-10-19 14:37:21 +00:00
poll-loop: Port to Windows.
Use WaitForMultipleObjects for polling on windows. This works on all kinds of objects, e.g. sockets, files, especially ioctl calls to the kernel. poll_fd_wait_event() is used if events need to be passed to pollfds. latch is signaled with event, to be waited/polled by WaitForMultipleObjects() as well. Changed array of fds to hmap to check for duplicate fds. Signed-off-by: Linda Sun <lsun@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -50,8 +50,12 @@ extern "C" {
|
||||
* caller to supply a location explicitly, which is useful if the caller's own
|
||||
* caller would be more useful in log output. See timer_wait_at() for an
|
||||
* example. */
|
||||
void poll_fd_wait_at(int fd, short int events, const char *where);
|
||||
#define poll_fd_wait(fd, events) poll_fd_wait_at(fd, events, SOURCE_LOCATOR)
|
||||
void poll_fd_wait_at(int fd, HANDLE wevent, short int events, const char *where);
|
||||
#ifndef _WIN32
|
||||
#define poll_fd_wait(fd, events) poll_fd_wait_at(fd, 0, events, SOURCE_LOCATOR)
|
||||
#else
|
||||
#define poll_fd_wait_event(fd, wevent, events) poll_fd_wait_at(fd, wevent, events, SOURCE_LOCATOR)
|
||||
#endif
|
||||
|
||||
void poll_timer_wait_at(long long int msec, const char *where);
|
||||
#define poll_timer_wait(msec) poll_timer_wait_at(msec, SOURCE_LOCATOR)
|
||||
|
Reference in New Issue
Block a user