aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/drivers/common
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2011-12-02 17:13:49 +0100
committerLukas Larsson <[email protected]>2011-12-05 19:39:40 +0100
commit250a556b1e3eb8486ec294f94d3b918c9ac91542 (patch)
treec3d8795be62b7b349aae6aec92f6f8d1583415db /erts/emulator/drivers/common
parent62fffa75e2003b3f19eb7614307942028a400fd1 (diff)
downloadotp-250a556b1e3eb8486ec294f94d3b918c9ac91542.tar.gz
otp-250a556b1e3eb8486ec294f94d3b918c9ac91542.tar.bz2
otp-250a556b1e3eb8486ec294f94d3b918c9ac91542.zip
Make solaris use sendfilev
sendfilev is a richer API which allows us to do non blocking TCP on solaris. The normal sendfile API seems to have some issue with non blocking sockets and the return value of sendfile.
Diffstat (limited to 'erts/emulator/drivers/common')
-rw-r--r--erts/emulator/drivers/common/erl_efile.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/drivers/common/erl_efile.h b/erts/emulator/drivers/common/erl_efile.h
index 349ab0e17b..ed8910a8b8 100644
--- a/erts/emulator/drivers/common/erl_efile.h
+++ b/erts/emulator/drivers/common/erl_efile.h
@@ -67,6 +67,11 @@
#define FILENAMES_16BIT 1
#endif
+// We use sendfilev if it exist on solaris
+#if !defined(HAVE_SENDFILE) && defined(HAVE_SENDFILEV)
+#define HAVE_SENDFILE
+#endif
+
/*
* An handle to an open directory. To be cast to the correct type
* in the system-dependent directory functions.