summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 ()