diff options
author | Björn-Egil Dahlberg <[email protected]> | 2014-05-26 19:33:24 +0200 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2014-07-22 09:29:22 +0200 |
commit | 03a1fcf5346233f76c8dc50844e132f4760154d6 (patch) | |
tree | 9e5eb78d9110a1ea11b3f61764a87e6898e42e8c /erts/emulator/drivers | |
parent | 8a6390613225ec3f3e2d5bbf537d2e0737342e87 (diff) | |
download | otp-03a1fcf5346233f76c8dc50844e132f4760154d6.tar.gz otp-03a1fcf5346233f76c8dc50844e132f4760154d6.tar.bz2 otp-03a1fcf5346233f76c8dc50844e132f4760154d6.zip |
erts: Fix inet close on prebound fds
Inet close must remove fd from select/poll without closing the fd.
Diffstat (limited to 'erts/emulator/drivers')
-rw-r--r-- | erts/emulator/drivers/common/inet_drv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index 4f0bf1167e..4cc31c1344 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -4053,7 +4053,7 @@ static int erl_inet_close(inet_descriptor* desc) desc_close(desc); desc->state = INET_STATE_CLOSED; } else if (desc->prebound && (desc->s != INVALID_SOCKET)) { - sock_select(desc, FD_READ | FD_WRITE | FD_CLOSE, 0); + sock_select(desc, FD_READ | FD_WRITE | FD_CLOSE | ERL_DRV_USE_NO_CALLBACK, 0); desc->event_mask = 0; #ifdef __WIN32__ desc->forced_events = 0; |