]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
control: Cannot write with hangup
authorRoy Marples <roy@marples.name>
Sat, 20 Feb 2021 16:25:05 +0000 (16:25 +0000)
committerRoy Marples <roy@marples.name>
Sat, 20 Feb 2021 16:25:05 +0000 (16:25 +0000)
src/control.c

index 6eb42d131560541cbbc2c3eda9b57a545b9a71a3..13602914763a4b6c0aa0ce9015e6fa4c33d3254a 100644 (file)
@@ -193,11 +193,10 @@ control_handle_data(void *arg, unsigned short events)
 {
        struct fd_list *fd = arg;
 
-       if (events != ELE_READ && events != ELE_WRITE &&
-           events != (ELE_READ | ELE_WRITE))
+       if (!(events & (ELE_READ | ELE_WRITE)))
                logerrx("%s: unexpected event 0x%04x", __func__, events);
 
-       if (events & ELE_WRITE)
+       if (events & ELE_WRITE && !(events & ELE_HANGUP))
                control_handle_write(fd);
        if (events & ELE_READ)
                control_handle_read(fd);