diff options
author | Sverker Eriksson <[email protected]> | 2016-03-30 15:32:22 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-03-30 15:32:22 +0200 |
commit | d166fec5d5c901a93e21a1ea7b3165b6fe68d320 (patch) | |
tree | e85a977b3785b0db712e20fe17be6c80ca162faa /erts/emulator/drivers/unix/ttsl_drv.c | |
parent | 303ccb07dbc4a6d3729017dc9d175a2ec9636ae3 (diff) | |
download | otp-d166fec5d5c901a93e21a1ea7b3165b6fe68d320.tar.gz otp-d166fec5d5c901a93e21a1ea7b3165b6fe68d320.tar.bz2 otp-d166fec5d5c901a93e21a1ea7b3165b6fe68d320.zip |
erts: Fix "hanging" VM caused by exiting tty_sl driver
Bug introduced on master in a31eab5469b7740d.
Diffstat (limited to 'erts/emulator/drivers/unix/ttsl_drv.c')
-rw-r--r-- | erts/emulator/drivers/unix/ttsl_drv.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/drivers/unix/ttsl_drv.c b/erts/emulator/drivers/unix/ttsl_drv.c index 4f15ce0980..35ccfa589a 100644 --- a/erts/emulator/drivers/unix/ttsl_drv.c +++ b/erts/emulator/drivers/unix/ttsl_drv.c @@ -823,12 +823,13 @@ static void ttysl_to_tty(ErlDrvData ttysl_data, ErlDrvEvent fd) { if (sz == 0) { driver_select(ttysl_port,(ErlDrvEvent)(long)ttysl_fd, ERL_DRV_WRITE,0); - if (ttysl_terminate) + if (ttysl_terminate) { /* flush has been called, which means we should terminate when queue is empty. This will not send any exit message */ DEBUGLOG(("ttysl_to_tty: ttysl_terminate normal\n")); driver_failure_atom(ttysl_port, "normal"); + } break; } } |