aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/drivers/common/inet_drv.c
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2014-05-26 19:33:24 +0200
committerHenrik Nord <[email protected]>2014-07-22 09:29:22 +0200
commit03a1fcf5346233f76c8dc50844e132f4760154d6 (patch)
tree9e5eb78d9110a1ea11b3f61764a87e6898e42e8c /erts/emulator/drivers/common/inet_drv.c
parent8a6390613225ec3f3e2d5bbf537d2e0737342e87 (diff)
downloadotp-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/common/inet_drv.c')
-rw-r--r--erts/emulator/drivers/common/inet_drv.c2
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;