Problem: Multiple fd_t definitions

Solution: Unify definition
This commit is contained in:
Gudmundur Adalsteinsson 2020-04-27 20:32:27 +00:00
parent b56195e995
commit d426f2ab0c
4 changed files with 26 additions and 24 deletions

View File

@ -36,18 +36,15 @@
namespace zmq
{
typedef zmq_fd_t fd_t;
#ifdef ZMQ_HAVE_WINDOWS
#if defined _MSC_VER && _MSC_VER <= 1400
///< \todo zmq.h uses SOCKET unconditionally, so probably VS versions before
/// VS2008 are unsupported anyway. Apart from that, this seems to depend on
/// the Windows SDK version rather than the VS version.
typedef UINT_PTR fd_t;
enum
{
retired_fd = (fd_t) (~0)
};
#else
typedef SOCKET fd_t;
enum
#if _MSC_VER >= 1800
: fd_t
@ -57,7 +54,6 @@ enum
};
#endif
#else
typedef int fd_t;
enum
{
retired_fd = -1

View File

@ -209,7 +209,7 @@ void test_null_poller_pointers_wait_all_indirect ()
void test_null_poller_pointer_poller_fd ()
{
void *null_poller = NULL;
zmq_fd_t fd;
fd_t fd;
TEST_ASSERT_FAILURE_ERRNO (EFAULT, zmq_poller_fd (&null_poller, &fd));
}
@ -285,7 +285,7 @@ void test_call_poller_fd_no_signaler ()
TEST_ASSERT_SUCCESS_ERRNO (
zmq_poller_add (poller, socket, NULL, ZMQ_POLLIN));
zmq_fd_t fd;
fd_t fd;
TEST_ASSERT_FAILURE_ERRNO (EINVAL, zmq_poller_fd (poller, &fd));
TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_destroy (&poller));
@ -303,7 +303,7 @@ void test_call_poller_fd ()
TEST_ASSERT_SUCCESS_ERRNO (
zmq_poller_add (poller, socket, NULL, ZMQ_POLLIN));
zmq_fd_t fd;
fd_t fd;
TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_fd (poller, &fd));
TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_destroy (&poller));

View File

@ -85,7 +85,7 @@ void test_max_sockets ()
int count;
for (count = 0; count < MAX_SOCKETS; count++) {
handle[count] = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (handle[count] == -1) {
if (handle[count] == retired_fd) {
printf ("W: Only able to create %d sockets on this box\n", count);
const char msg[] =
"I: Tune your system to increase maximum allowed file handles\n"

View File

@ -74,26 +74,32 @@ inline const char *as_setsockopt_opt_t (const void *opt)
{
return static_cast<const char *> (opt);
}
#if defined _MSC_VER && _MSC_VER <= 1400
typedef UINT_PTR fd_t;
enum
{
retired_fd = (fd_t) (~0)
};
#else
typedef SOCKET fd_t;
enum
{
retired_fd = (fd_t) INVALID_SOCKET
};
#endif
#else
typedef size_t socket_size_t;
inline const void *as_setsockopt_opt_t (const void *opt_)
{
return opt_;
}
typedef int fd_t;
#endif
// duplicated from fd.hpp
typedef zmq_fd_t fd_t;
#ifdef ZMQ_HAVE_WINDOWS
#if defined _MSC_VER && _MSC_VER <= 1400
enum
{
retired_fd = (zmq_fd_t) (~0)
};
#else
enum
#if _MSC_VER >= 1800
: zmq_fd_t
#endif
{
retired_fd = INVALID_SOCKET
};
#endif
#else
enum
{
retired_fd = -1