summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2010-02-23 23:28:25 +0100
committerMartin Sustrik <sustrik@250bpm.com>2010-02-23 23:28:25 +0100
commit2441ef11a22170499d7ae12865dc98a61230f7ed (patch)
tree8583021a2463df908cd1f5683366b72b0bc578f2
parent2dd55605ea3956413cb25cab705ffdbdb2e00da5 (diff)
zmq_errno helper function added
-rw-r--r--bindings/c/zmq.h10
-rw-r--r--src/zmq.cpp5
2 files changed, 15 insertions, 0 deletions
diff --git a/bindings/c/zmq.h b/bindings/c/zmq.h
index c6d4692..254971d 100644
--- a/bindings/c/zmq.h
+++ b/bindings/c/zmq.h
@@ -212,6 +212,16 @@ typedef struct
ZMQ_EXPORT int zmq_poll (zmq_pollitem_t *items, int nitems, long timeout);
////////////////////////////////////////////////////////////////////////////////
+// Experimental.
+////////////////////////////////////////////////////////////////////////////////
+
+// This function retrieves the errno as it is known to 0MQ library. The goal
+// of this function is to make the code 100% portable, including where 0MQ
+// compiled with certain CRT library (on Windows) is linked to an application
+// compiled with different CRT library.
+int zmq_errno ();
+
+////////////////////////////////////////////////////////////////////////////////
// Helper functions.
////////////////////////////////////////////////////////////////////////////////
diff --git a/src/zmq.cpp b/src/zmq.cpp
index 1275804..ca9a970 100644
--- a/src/zmq.cpp
+++ b/src/zmq.cpp
@@ -615,6 +615,11 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
#endif
}
+int zmq_errno ()
+{
+ return errno;
+}
+
#if defined ZMQ_HAVE_WINDOWS
static uint64_t now ()