diff options
author | Lukas Larsson <[email protected]> | 2019-04-09 14:23:57 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2019-04-09 14:23:57 +0200 |
commit | 2ae12b2485033f2a2dd458f06f9e78a654ca5117 (patch) | |
tree | a2d857fb69a7a40ae1857f03d729362435c2e613 /erts/emulator/sys/unix/sys_drivers.c | |
parent | 8487c67c2e5738d05a49f110be21b9ff8943a4c9 (diff) | |
parent | ab8b9f7aecf4aea31ed2e37677a082fab8bbd1dd (diff) | |
download | otp-2ae12b2485033f2a2dd458f06f9e78a654ca5117.tar.gz otp-2ae12b2485033f2a2dd458f06f9e78a654ca5117.tar.bz2 otp-2ae12b2485033f2a2dd458f06f9e78a654ca5117.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/sys/unix/sys_drivers.c')
-rw-r--r-- | erts/emulator/sys/unix/sys_drivers.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/sys/unix/sys_drivers.c b/erts/emulator/sys/unix/sys_drivers.c index 042a091db1..664d677ebd 100644 --- a/erts/emulator/sys/unix/sys_drivers.c +++ b/erts/emulator/sys/unix/sys_drivers.c @@ -1006,10 +1006,8 @@ static void clear_fd_data(ErtsSysFdData *fdd) static void nbio_stop_fd(ErlDrvPort prt, ErtsSysFdData *fdd, int use) { - driver_select(prt, abs(fdd->fd), use ? ERL_DRV_USE_NO_CALLBACK : 0|DO_READ|DO_WRITE, 0); clear_fd_data(fdd); SET_BLOCKING(abs(fdd->fd)); - } static void fd_stop(ErlDrvData ev) /* Does not close the fds */ @@ -1026,10 +1024,12 @@ static void fd_stop(ErlDrvData ev) /* Does not close the fds */ if (dd->ifd) { sz += sizeof(ErtsSysFdData); + driver_select(prt, abs(dd->ifd->fd), ERL_DRV_USE_NO_CALLBACK|DO_READ|DO_WRITE, 0); nbio_stop_fd(prt, dd->ifd, 1); } if (dd->ofd && dd->ofd != dd->ifd) { sz += sizeof(ErtsSysFdData); + driver_select(prt, abs(dd->ofd->fd), ERL_DRV_USE_NO_CALLBACK|DO_WRITE, 0); nbio_stop_fd(prt, dd->ofd, 1); } |