Skip to content

Commit efb0962

Browse files
committed
kqueue: Fix libwebsockets event generation
1 parent 0491e6b commit efb0962

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

src/mux_kqueue.c

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,20 @@ static void loop_handle_reads_writes(struct mosquitto *context, short event)
231231
if(context->wsi){
232232
struct lws_pollfd wspoll;
233233
wspoll.fd = context->sock;
234-
wspoll.events = (int16_t)context->events;
235-
wspoll.revents = (int16_t)events;
234+
int16_t lws_events;
235+
switch(event){
236+
case EVFILT_READ:
237+
lws_events = LWS_POLLIN;
238+
break;
239+
case EVFILT_WRITE:
240+
lws_events = LWS_POLLOUT;
241+
break;
242+
default:
243+
lws_events = LWS_POLLHUP;
244+
break;
245+
}
246+
wspoll.events = lws_events;
247+
wspoll.revents = lws_events;
236248
lws_service_fd(lws_get_context(context->wsi), &wspoll);
237249
return;
238250
}

0 commit comments

Comments
 (0)