diff options
author | Determinant <[email protected]> | 2019-06-12 12:05:27 -0400 |
---|---|---|
committer | Determinant <[email protected]> | 2019-06-12 12:05:27 -0400 |
commit | 9f6460c7ab774d900f391345bbf3fac8617a3aa3 (patch) | |
tree | 94df1d667a3db95e8b92420c3fa361afb05a2888 | |
parent | edc6e299727098c499fd1edae145a0462fee7807 (diff) |
...
-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) { |