X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fevent.c;h=1283edd332b8334fa8fc78a6faedb03d2a397516;hp=47adb181016e8fdd7c954a230981d5c18d6b1a35;hb=d6b45d005530496e48325a6174ecdd889a17bfc1;hpb=1fbaca31a15a37135d8d1de14c56b0df98a8ba1c diff --git a/src/event.c b/src/event.c index 47adb181..1283edd3 100644 --- a/src/event.c +++ b/src/event.c @@ -1,6 +1,6 @@ /* event.c -- I/O, timeout and signal event handling - Copyright (C) 2012-2013 Guus Sliepen + Copyright (C) 2012-2018 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -378,7 +378,7 @@ bool event_loop(void) { while(running) { struct timeval diff; struct timeval *tv = get_time_remaining(&diff); - DWORD timeout_ms = tv ? (tv->tv_sec * 1000 + tv->tv_usec / 1000 + 1) : WSA_INFINITE; + DWORD timeout_ms = tv ? (DWORD)(tv->tv_sec * 1000 + tv->tv_usec / 1000 + 1) : WSA_INFINITE; if(!event_count) { Sleep(timeout_ms); @@ -435,12 +435,12 @@ bool event_loop(void) { break; } - if(result < WSA_WAIT_EVENT_0 || result >= WSA_WAIT_EVENT_0 + event_count - event_offset) { + if(result >= event_count - event_offset) { return(false); } /* Look up io in the map by index. */ - event_index = result - WSA_WAIT_EVENT_0 + event_offset; + event_index = result - event_offset; io_t *io = io_map[event_index]; if(io->fd == -1) {