aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys/unix/erl_child_setup.h
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2015-10-14 09:56:03 +0200
committerLukas Larsson <[email protected]>2015-12-15 10:05:47 +0100
commit6fc7ccb41da5e9ec4357b40811ad740dd6a3b5b2 (patch)
tree156706b673d6ee9fd9d87b5fc11619e043f3ab34 /erts/emulator/sys/unix/erl_child_setup.h
parentb96e62d346eea60b2300dce22d8d892387de4681 (diff)
downloadotp-6fc7ccb41da5e9ec4357b40811ad740dd6a3b5b2.tar.gz
otp-6fc7ccb41da5e9ec4357b40811ad740dd6a3b5b2.tar.bz2
otp-6fc7ccb41da5e9ec4357b40811ad740dd6a3b5b2.zip
erts: Only use forker StackAck on freebsd
Diffstat (limited to 'erts/emulator/sys/unix/erl_child_setup.h')
-rw-r--r--erts/emulator/sys/unix/erl_child_setup.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/emulator/sys/unix/erl_child_setup.h b/erts/emulator/sys/unix/erl_child_setup.h
index 93b39d46b2..a28b136bfc 100644
--- a/erts/emulator/sys/unix/erl_child_setup.h
+++ b/erts/emulator/sys/unix/erl_child_setup.h
@@ -25,6 +25,14 @@
#include "sys.h"
+#ifdef __FreeBSD__
+/* The freebsd sendmsg man page explicitly states that
+ you should not close fds before they are known
+ to have reached the other side, so this Ack protects
+ against that. */
+#define FORKER_PROTO_START_ACK 1
+#endif
+
#define FORKER_ARGV_NO_OF_ARGS 3
#define FORKER_ARGV_PROGNAME_IX 0 /* Program name */
#define FORKER_ARGV_MAX_FILES 1 /* max_files */