X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fpoll-loop.h;h=03978530e0593020bd0c178712fbbada8c622223;hb=d017eeb9f9ebcb46c24a67fd301b3e36cd26a04e;hp=6614ebe58f7a3a81e2600f9514f3bc3d24629823;hpb=bbb8dee92d639331e8bd81823638267dcc895396;p=sliver-openvswitch.git diff --git a/lib/poll-loop.h b/lib/poll-loop.h index 6614ebe58..03978530e 100644 --- a/lib/poll-loop.h +++ b/lib/poll-loop.h @@ -44,25 +44,24 @@ extern "C" { /* Schedule events to wake up the following poll_block(). * * The poll_loop logs the 'where' argument to each function at "debug" level - * when an event causes a wakeup. Ordinarily, it is automatically filled in - * with the location in the source of the call, and the caller should therefore - * omit it. But, if the function you are implementing is very generic, so that - * its location in the source would not be very helpful for debugging, you can - * avoid the macro expansion and pass a different argument, e.g.: - * (poll_fd_wait)(fd, events, where); - * See timer_wait() for an example. - */ -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) + * when an event causes a wakeup. Each of these ways to schedule an event has + * a function and a macro wrapper. The macro version automatically supplies + * the source code location of the caller. The function version allows the + * 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_timer_wait(long long int msec, const char *where); -#define poll_timer_wait(msec) poll_timer_wait(msec, SOURCE_LOCATOR) +void poll_timer_wait_at(long long int msec, const char *where); +#define poll_timer_wait(msec) poll_timer_wait_at(msec, SOURCE_LOCATOR) -void poll_timer_wait_until(long long int msec, const char *where); -#define poll_timer_wait_until(msec) poll_timer_wait_until(msec, SOURCE_LOCATOR) +void poll_timer_wait_until_at(long long int msec, const char *where); +#define poll_timer_wait_until(msec) \ + poll_timer_wait_until_at(msec, SOURCE_LOCATOR) -void poll_immediate_wake(const char *where); -#define poll_immediate_wake() poll_immediate_wake(SOURCE_LOCATOR) +void poll_immediate_wake_at(const char *where); +#define poll_immediate_wake() poll_immediate_wake_at(SOURCE_LOCATOR) /* Wait until an event occurs. */ void poll_block(void);