aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2015-10-14 09:17:58 +0200
committerLukas Larsson <[email protected]>2015-12-15 10:05:47 +0100
commitb96e62d346eea60b2300dce22d8d892387de4681 (patch)
tree1d07f8cd1259b8163b4ead67b683edc2a914af03 /erts/emulator
parent598e7e6a456d882aaa586b5ddb17811ecd43f2e5 (diff)
downloadotp-b96e62d346eea60b2300dce22d8d892387de4681.tar.gz
otp-b96e62d346eea60b2300dce22d8d892387de4681.tar.bz2
otp-b96e62d346eea60b2300dce22d8d892387de4681.zip
erts: It is not possible to exit the forker driver
Diffstat (limited to 'erts/emulator')
-rw-r--r--erts/emulator/beam/io.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c
index df8a213a1d..8d9199162c 100644
--- a/erts/emulator/beam/io.c
+++ b/erts/emulator/beam/io.c
@@ -2408,6 +2408,11 @@ erts_port_exit(Process *c_p,
| ERTS_PORT_SIG_FLG_BROKEN_LINK
| ERTS_PORT_SIG_FLG_FORCE_SCHED)) == 0);
+#ifndef __WIN32__
+ if (prt->drv_ptr == &forker_driver)
+ return ERTS_PORT_OP_DROPPED;
+#endif
+
if (!(flags & ERTS_PORT_SIG_FLG_FORCE_SCHED)) {
ErtsTryImmDrvCallState try_call_state
= ERTS_INIT_TRY_IMM_DRV_CALL_STATE(c_p,