summaryrefslogtreecommitdiff
path: root/src/pgm_socket.cpp
diff options
context:
space:
mode:
authormalosek <malosek@fastmq.com>2009-10-06 12:57:24 +0200
committermalosek <malosek@fastmq.com>2009-10-06 12:57:24 +0200
commit7afc61ae7c4859fa1a6273e1964d378c00142746 (patch)
tree4ca974a1c1a4f0aa416f7e5dfc30851e6ca5387a /src/pgm_socket.cpp
parentac83175ef0f0084f281a416785679f8b56f551b9 (diff)
0MQ compilable on winXP mingw with --with-pgm2 option
Diffstat (limited to 'src/pgm_socket.cpp')
-rw-r--r--src/pgm_socket.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/pgm_socket.cpp b/src/pgm_socket.cpp
index b4f79e6..da8da3b 100644
--- a/src/pgm_socket.cpp
+++ b/src/pgm_socket.cpp
@@ -21,13 +21,17 @@
#ifdef ZMQ_HAVE_OPENPGM
+#ifdef ZMQ_HAVE_WINDOWS
+#include "windows.hpp"
+#endif
+
#ifdef ZMQ_HAVE_LINUX
-// TODO: needed for pgm - add this into platform.hpp?
+#include <poll.h>
+// Has to be defined befiore including pgm/pgm.h
#define CONFIG_HAVE_POLL
-
-#include <pgm/pgm.h>
#endif
+#include <pgm/pgm.h>
#include <string>
#include <iostream>
@@ -51,8 +55,6 @@
{ printf (__VA_ARGS__);}} while (0)
#endif
-#ifdef ZMQ_HAVE_LINUX
-
zmq::pgm_socket_t::pgm_socket_t (bool receiver_, const options_t &options_) :
g_transport (NULL),
options (options_),
@@ -480,7 +482,9 @@ void zmq::pgm_socket_t::close_transport (void)
int zmq::pgm_socket_t::get_receiver_fds (int *recv_fd_,
int *waiting_pipe_fd_)
{
-
+#ifdef ZMQ_HAVE_WINDOWS
+ zmq_assert (false);
+#else
// For POLLIN there are 2 pollfds in pgm_transport.
int fds_array_size = pgm_receiver_fd_count;
pollfd *fds = new pollfd [fds_array_size];
@@ -500,7 +504,7 @@ int zmq::pgm_socket_t::get_receiver_fds (int *recv_fd_,
*waiting_pipe_fd_ = fds [1].fd;
delete [] fds;
-
+#endif
return pgm_receiver_fd_count;
}
@@ -520,6 +524,9 @@ int zmq::pgm_socket_t::get_sender_fds (int *send_fd_, int *receive_fd_,
zmq_assert (rdata_notify_fd_);
#endif
+#ifdef ZMQ_HAVE_WINDOWS
+ zmq_assert (false);
+#else
// Preallocate pollfds array.
int fds_array_size = pgm_sender_fd_count;
pollfd *fds = new pollfd [fds_array_size];
@@ -546,6 +553,7 @@ int zmq::pgm_socket_t::get_sender_fds (int *send_fd_, int *receive_fd_,
#endif
delete [] fds;
+#endif
return pgm_sender_fd_count;
}
@@ -855,4 +863,3 @@ void zmq::pgm_socket_t::process_upstream (void)
#endif
-#endif