aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/event/defs.h
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-09-01 10:11:55 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-09-06 09:18:53 -0300
commitc20b802511a3d0e3b2277186a545c7f9f687410c (patch)
tree7118c3a32883bd831f234d1d1df205871e0fba97 /src/nvim/event/defs.h
parent203a4d5650ced506ae82ed6c79bd056a547f28c6 (diff)
downloadrneovim-c20b802511a3d0e3b2277186a545c7f9f687410c.tar.gz
rneovim-c20b802511a3d0e3b2277186a545c7f9f687410c.tar.bz2
rneovim-c20b802511a3d0e3b2277186a545c7f9f687410c.zip
loop: Improvements for thread-safety
- Implement `loop_schedule` method for queueing events from other threads - Make `loop_poll_events` `recursive` static variable a field of the Loop structure
Diffstat (limited to 'src/nvim/event/defs.h')
-rw-r--r--src/nvim/event/defs.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/event/defs.h b/src/nvim/event/defs.h
index 5126d52241..b802866a3d 100644
--- a/src/nvim/event/defs.h
+++ b/src/nvim/event/defs.h
@@ -4,7 +4,7 @@
#include <assert.h>
#include <stdarg.h>
-#define EVENT_HANDLER_MAX_ARGC 4
+#define EVENT_HANDLER_MAX_ARGC 6
typedef void (*argv_callback)(void **argv);
typedef struct message {
@@ -12,6 +12,7 @@ typedef struct message {
argv_callback handler;
void *argv[EVENT_HANDLER_MAX_ARGC];
} Event;
+typedef void(*event_scheduler)(Event event, void *data);
#define VA_EVENT_INIT(event, p, h, a) \
do { \