summaryrefslogtreecommitdiff
path: root/src/node_constants.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_constants.cc')
-rw-r--r--src/node_constants.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/node_constants.cc b/src/node_constants.cc
index 2aea278cb..d364fb2df 100644
--- a/src/node_constants.cc
+++ b/src/node_constants.cc
@@ -27,11 +27,14 @@
#if !defined(_MSC_VER)
#include <unistd.h>
#endif
-#include <fcntl.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/stat.h>
+// O_NONBLOCK is not exported, unless _XOPEN_SOURCE is set
+#define _XOPEN_SOURCE 500
+#include <fcntl.h>
+
#if HAVE_OPENSSL
# include <openssl/ssl.h>
#endif
@@ -110,6 +113,10 @@ void DefineConstants(Handle<Object> target) {
NODE_DEFINE_CONSTANT(target, O_DIRECT);
#endif
+#ifdef O_NONBLOCK
+ NODE_DEFINE_CONSTANT(target, O_NONBLOCK);
+#endif
+
#ifdef S_IRWXU
NODE_DEFINE_CONSTANT(target, S_IRWXU);
#endif