Skip to content
This repository has been archived by the owner on Nov 20, 2022. It is now read-only.

Commit

Permalink
Use malloc for loop creation
Browse files Browse the repository at this point in the history
  • Loading branch information
nikhilm committed Feb 1, 2015
1 parent 33cff35 commit a54a382
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions code/signal/main.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <uv.h>

uv_loop_t* create_loop()
{
uv_loop_t *loop = malloc(sizeof(uv_loop_t));
if (loop) {
uv_loop_init(loop);
}
return loop;
}

void signal_handler(uv_signal_t *handle, int signum)
{
printf("Signal received: %d\n", signum);
Expand All @@ -11,7 +21,7 @@ void signal_handler(uv_signal_t *handle, int signum)
// two signal handlers in one loop
void thread1_worker(void *userp)
{
uv_loop_t *loop1 = uv_loop_new();
uv_loop_t *loop1 = create_loop();

uv_signal_t sig1a, sig1b;
uv_signal_init(loop1, &sig1a);
Expand All @@ -26,8 +36,8 @@ void thread1_worker(void *userp)
// two signal handlers, each in its own loop
void thread2_worker(void *userp)
{
uv_loop_t *loop2 = uv_loop_new();
uv_loop_t *loop3 = uv_loop_new();
uv_loop_t *loop2 = create_loop();
uv_loop_t *loop3 = create_loop();

uv_signal_t sig2;
uv_signal_init(loop2, &sig2);
Expand Down

0 comments on commit a54a382

Please sign in to comment.