X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fpoll-loop.h;h=6614ebe58f7a3a81e2600f9514f3bc3d24629823;hb=550f0db4e0fb3bf9952e8a88b71242491b9dde2a;hp=4c488eedc604fed4e5acdfd43f19e784a8040327;hpb=ebce4552243862f9d75bd4376725ddd225c77ebc;p=sliver-openvswitch.git diff --git a/lib/poll-loop.h b/lib/poll-loop.h index 4c488eedc..6614ebe58 100644 --- a/lib/poll-loop.h +++ b/lib/poll-loop.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011 Nicira, Inc. + * Copyright (c) 2008, 2009, 2010, 2011, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,14 +16,20 @@ /* High-level wrapper around the "poll" system call. * - * Intended usage is for the program's main loop to go about its business + * The intended usage is for each thread's main loop to go about its business * servicing whatever events it needs to. Then, when it runs out of immediate * tasks, it calls each subordinate module's "wait" function, which in turn * calls one (or more) of the functions poll_fd_wait(), poll_immediate_wake(), * and poll_timer_wait() to register to be awakened when the appropriate event * occurs. Then the main loop calls poll_block(), which blocks until one of - * the registered events happens. */ - + * the registered events happens. + * + * + * Thread-safety + * ============= + * + * The poll set is per-thread, so all functions in this module are thread-safe. + */ #ifndef POLL_LOOP_H #define POLL_LOOP_H 1 @@ -34,7 +40,6 @@ extern "C" { #endif -struct poll_waiter; /* Schedule events to wake up the following poll_block(). * @@ -47,7 +52,7 @@ struct poll_waiter; * (poll_fd_wait)(fd, events, where); * See timer_wait() for an example. */ -struct poll_waiter *poll_fd_wait(int fd, short int events, const char *where); +void poll_fd_wait(int fd, short int events, const char *where); #define poll_fd_wait(fd, events) poll_fd_wait(fd, events, SOURCE_LOCATOR) void poll_timer_wait(long long int msec, const char *where); @@ -62,9 +67,6 @@ void poll_immediate_wake(const char *where); /* Wait until an event occurs. */ void poll_block(void); -/* Cancel a file descriptor callback or event. */ -void poll_cancel(struct poll_waiter *); - #ifdef __cplusplus } #endif