diff options
-rw-r--r-- | include/salticidae/event.h | 6 | ||||
-rw-r--r-- | src/event.cpp | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/include/salticidae/event.h b/include/salticidae/event.h index c54b69d..91637e4 100644 --- a/include/salticidae/event.h +++ b/include/salticidae/event.h @@ -681,10 +681,10 @@ void threadcall_free(threadcall_t *self); void threadcall_async_call(threadcall_t *self, threadcall_callback_t callback, void *userdata); eventcontext_t *threadcall_get_ec(threadcall_t *self); -typedef void (*sigev_callback_t)(int events); -sigev_t *sigev_new(const eventcontext_t *ec, sigev_callback_t cb); +typedef void (*sigev_callback_t)(int signum, void *); +sigev_t *sigev_new(const eventcontext_t *ec, sigev_callback_t cb, void *userdata); void sigev_free(sigev_t *self); -void sigev_add(sigev_t *self, int sig); +void sigev_add(sigev_t *self, int signum); typedef void (*timerev_callback_t)(timerev_t *, void *); timerev_t *timerev_new(const eventcontext_t *ec, timerev_callback_t callback, void *); diff --git a/src/event.cpp b/src/event.cpp index 9b6f432..4e5ce0b 100644 --- a/src/event.cpp +++ b/src/event.cpp @@ -12,8 +12,10 @@ void eventcontext_dispatch(eventcontext_t *self) { return self->dispatch(); } void eventcontext_stop(eventcontext_t *self) { return self->stop(); } -sigev_t *sigev_new(const eventcontext_t *self, sigev_callback_t callback) { - return new sigev_t(*self, callback); +sigev_t *sigev_new(const eventcontext_t *self, sigev_callback_t callback, void *userdata) { + return new sigev_t(*self, [=](int signum) { + callback(signum, userdata); + }); } threadcall_t *threadcall_new(const eventcontext_t *ec) { return new threadcall_t(*ec); } @@ -32,7 +34,7 @@ eventcontext_t *threadcall_get_ec(threadcall_t *self) { void sigev_free(sigev_t *self) { delete self; } -void sigev_add(sigev_t *self, int sig) { self->add(sig); } +void sigev_add(sigev_t *self, int signum) { self->add(signum); } timerev_t *timerev_new(const eventcontext_t *ec, timerev_callback_t callback, void *userdata) { return new timerev_t(*ec, [=](salticidae::TimerEvent &ev) { |