aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys/ose/erl_poll.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2014-03-23 22:21:38 +0100
committerLukas Larsson <[email protected]>2014-03-26 15:18:59 +0100
commit38db84be84daefe80806e6a4c06d3ed8c6c8db31 (patch)
treed0946927122f8bc6de6c8b3f2745721027a984da /erts/emulator/sys/ose/erl_poll.c
parent68c1740b8b2a23ea8caf46b024fc339e10f375f0 (diff)
downloadotp-38db84be84daefe80806e6a4c06d3ed8c6c8db31.tar.gz
otp-38db84be84daefe80806e6a4c06d3ed8c6c8db31.tar.bz2
otp-38db84be84daefe80806e6a4c06d3ed8c6c8db31.zip
ose: Implement tcp inet driver for OSE
The inet driver for OSE has to handle signals instead of selects and thus the wrappers for ready_input/output are a little bit different. However the majority of the inet code remains the same.
Diffstat (limited to 'erts/emulator/sys/ose/erl_poll.c')
-rw-r--r--erts/emulator/sys/ose/erl_poll.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/erts/emulator/sys/ose/erl_poll.c b/erts/emulator/sys/ose/erl_poll.c
index f0a9097252..7d2a3d1e0b 100644
--- a/erts/emulator/sys/ose/erl_poll.c
+++ b/erts/emulator/sys/ose/erl_poll.c
@@ -551,7 +551,12 @@ int erts_poll_wait(ErtsPollSet ps,
fd.id, fd.signo, current_process());
erts_send_error_to_logger_nogl(dsbufp);
timeout = 0;
- ASSERT(0);
+ /* Under normal circumstances the signal is deallocated by the
+ * driver that issued the select operation. But in this case
+ * there's no driver waiting for such signal so we have to
+ * deallocate it here */
+ if (sig)
+ free_buf(&sig);
} else {
int i;
struct erts_sys_fd_type *fd = NULL;