aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys
diff options
context:
space:
mode:
authorCalvin Buckley <[email protected]>2019-01-25 08:04:16 -0500
committerCalvin <[email protected]>2019-05-29 06:21:41 -0400
commit0f5ea700462542c445b1a257b477abdc1d96e4ee (patch)
treedbd322ab5122933ab9430f776f75153d29c487bf /erts/emulator/sys
parent3ca08f6d5732389af6bc48446be4b5b0f244d749 (diff)
downloadotp-0f5ea700462542c445b1a257b477abdc1d96e4ee.tar.gz
otp-0f5ea700462542c445b1a257b477abdc1d96e4ee.tar.bz2
otp-0f5ea700462542c445b1a257b477abdc1d96e4ee.zip
MSG_DONTWAIT may not be present on all systems
Diffstat (limited to 'erts/emulator/sys')
-rw-r--r--erts/emulator/sys/unix/erl_child_setup.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/sys/unix/erl_child_setup.c b/erts/emulator/sys/unix/erl_child_setup.c
index 129861ebd5..f3662f94c6 100644
--- a/erts/emulator/sys/unix/erl_child_setup.c
+++ b/erts/emulator/sys/unix/erl_child_setup.c
@@ -491,7 +491,12 @@ main(int argc, char *argv[])
ErtsSysForkerProto proto;
errno = 0;
if ((res = sys_uds_read(uds_fd, (char*)&proto, sizeof(proto),
+#if defined(MSG_DONTWAIT)
pipes, 3, MSG_DONTWAIT)) < 0) {
+#else
+ /* XXX: a workaround here? */
+ pipes, 3, 0)) < 0) {
+#endif
if (errno == EINTR)
continue;
DEBUG_PRINT("erl_child_setup failed to read from uds: %d, %d", res, errno);