aboutsummaryrefslogtreecommitdiff
path: root/src/os/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/signal.c')
-rw-r--r--src/os/signal.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/os/signal.c b/src/os/signal.c
index 2ac31060aa..503269208d 100644
--- a/src/os/signal.c
+++ b/src/os/signal.c
@@ -67,12 +67,11 @@ void signal_accept_deadly()
rejecting_deadly = false;
}
-void signal_handle(Event *event)
+void signal_handle(Event event)
{
- int signum = *(int *)event->data;
+ int signum = *(int *)event.data;
- free(event->data);
- free(event);
+ free(event.data);
switch (signum) {
case SIGINT:
@@ -148,8 +147,6 @@ static void deadly_signal(int signum)
static void signal_cb(uv_signal_t *handle, int signum)
{
- Event *event;
-
if (rejecting_deadly) {
if (signum == SIGINT) {
got_int = true;
@@ -158,9 +155,10 @@ static void signal_cb(uv_signal_t *handle, int signum)
return;
}
- event = (Event *)xmalloc(sizeof(Event));
- event->type = kEventSignal;
- event->data = xmalloc(sizeof(int));
- *(int *)event->data = signum;
+ Event event = {
+ .type = kEventSignal,
+ .data = xmalloc(sizeof(int))
+ };
+ *(int *)event.data = signum;
event_push(event);
}