#include <stdint.h>
#include <uv.h>
#include "nvim/event/multiqueue.h"
#include "nvim/lib/klist.h"
#include "nvim/os/time.h"
Go to the source code of this file.
◆ _NOOP
◆ CREATE_EVENT
#define CREATE_EVENT |
( |
|
multiqueue, |
|
|
|
handler, |
|
|
|
argc, |
|
|
|
... |
|
) |
| |
Value: do { \
multiqueue_put((
multiqueue), (handler), argc, __VA_ARGS__); \
} else { \
void *
argv[argc] = { __VA_ARGS__ }; \
} \
} while (0)
◆ LOOP_PROCESS_EVENTS
Value: do { \
} else { \
loop_poll_events(
loop, timeout); \
} \
} while (0)
◆ LOOP_PROCESS_EVENTS_UNTIL
#define LOOP_PROCESS_EVENTS_UNTIL |
( |
|
loop, |
|
|
|
multiqueue, |
|
|
|
timeout, |
|
|
|
condition |
|
) |
| |
Value: do { \
int remaining = timeout; \
uint64_t before = (remaining > 0) ?
os_hrtime() : 0; \
while (!(condition)) { \
if (remaining == 0) { \
break; \
} else if (remaining > 0) { \
remaining -= (int)((now - before) / 1000000); \
before = now; \
if (remaining <= 0) { \
break; \
} \
} \
} \
} while (0)
◆ Loop
◆ WatcherPtr