// event_receive_handler running in a separate thread queues all the events received from the UDP port
static void *event_receive_handler(void *arg) {
+ (void)arg;
size_t recv_ret;
char udp_buff[UDP_BUFF_MAX];
struct sockaddr client;
bool callback_return = false;
void *data;
mesh_event_payload_t mesh_event_rec_packet;
- mesh_event_callback_t callback = (mesh_event_callback_t)argv;
+ mesh_event_callback_t callback = *(mesh_event_callback_t *)argv;
while(event_handle_thread_running) {
server.sin_port = htons(atoi(SERVER_LISTEN_PORT));
assert(bind(server_fd, (struct sockaddr *) &server, sizeof(struct sockaddr)) != -1);
- assert(ip = malloc(30));
+ assert((ip = malloc(30)));
strncpy(ip, inet_ntoa(resp_if_addr->sin_addr), 20);
strcat(ip, ":");
strcat(ip, SERVER_LISTEN_PORT);
}
set_cond_flag(&sync_event, false);
- assert(!pthread_create(&event_handle_thread, NULL, event_handler, (void *)callback));
+ assert(!pthread_create(&event_handle_thread, NULL, event_handler, (void *)&callback));
bool wait_ret = wait_cond_flag(&sync_event, seconds);
event_handle_thread_running = false;
pthread_cancel(event_handle_thread);
mesh_events_flush();
event_receive_thread_running = false;
pthread_cancel(event_receive_thread);
-}
\ No newline at end of file
+}