Fix tinc event loop reentrancy from timeout handlers.
[oweals/tinc.git] / src / event.c
index f34974206b1dac9c140105f4b67230749c5a036b..cb710a06b60b07d6af7752bf68c4f9c0c4fd7745 100644 (file)
@@ -256,10 +256,10 @@ bool event_loop(void) {
        fd_set writable;
 
        while(running) {
-               memcpy(&readable, &readfds, sizeof readable);
-               memcpy(&writable, &writefds, sizeof writable);
                struct timeval diff;
                struct timeval *tv = get_time_remaining(&diff);
+               memcpy(&readable, &readfds, sizeof readable);
+               memcpy(&writable, &writefds, sizeof writable);
 
                int fds = 0;