summaryrefslogtreecommitdiff
path: root/pjlib
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-02-08 15:21:41 +0000
committerBenny Prijono <bennylp@teluu.com>2008-02-08 15:21:41 +0000
commita2ca31f0f6e30a30bf6f6e58ab423b370fbc9bb3 (patch)
tree91f32fd6efde69f16bafb4149ea4566f4fd8e789 /pjlib
parentc25c92ec0bdb07c94d13e833e0cb7dffc86de0d3 (diff)
More ticket #472: Fixed problem when building on Mingw. Now PJ_FD_SETSIZE_SETABLE is only enabled when winsock.h is present
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1788 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib')
-rw-r--r--pjlib/include/pj/config.h28
-rw-r--r--pjlib/src/pj/ioqueue_select.c8
-rw-r--r--pjlib/src/pj/sock_select.c7
3 files changed, 20 insertions, 23 deletions
diff --git a/pjlib/include/pj/config.h b/pjlib/include/pj/config.h
index fc08ed74..bce870de 100644
--- a/pjlib/include/pj/config.h
+++ b/pjlib/include/pj/config.h
@@ -487,11 +487,7 @@
* the underlying implementation changes.
*/
#ifndef PJ_IOQUEUE_MAX_HANDLES
-# if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
-# define PJ_IOQUEUE_MAX_HANDLES (64)
-# else
-# define PJ_IOQUEUE_MAX_HANDLES (256)
-# endif
+# define PJ_IOQUEUE_MAX_HANDLES (64)
#endif
@@ -532,22 +528,22 @@
/**
* Determine if FD_SETSIZE is changeable/set-able. If so, then we will
- * set it to PJ_IOQUEUE_MAX_HANDLES.
+ * set it to PJ_IOQUEUE_MAX_HANDLES. Currently we detect this by checking
+ * for Winsock.
*/
-/* This is awful, as we should actually check for __GLIBC__ rather than
- * __GNUC__. But alas! Libc headers are not included yet at this stage.
- */
-#ifdef __GNUC__
-# define PJ_FD_SETSIZE_SETABLE 0
-#else
-# define PJ_FD_SETSIZE_SETABLE 1
+#ifndef PJ_FD_SETSIZE_SETABLE
+# if defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H!=0
+# define PJ_FD_SETSIZE_SETABLE 1
+# else
+# define PJ_FD_SETSIZE_SETABLE 0
+# endif
#endif
/**
* Overrides FD_SETSIZE so it is consistent throughout the library.
- * We only do this if we detected that FD_SETSIZE is changeable.
- *
- * Default: #PJ_IOQUEUE_MAX_HANDLES
+ * We only do this if we detected that FD_SETSIZE is changeable. If
+ * FD_SETSIZE is not set-able, then PJ_IOQUEUE_MAX_HANDLES must be
+ * set to value lower than FD_SETSIZE.
*/
#if PJ_FD_SETSIZE_SETABLE
/* Only override FD_SETSIZE if the value has not been set */
diff --git a/pjlib/src/pj/ioqueue_select.c b/pjlib/src/pj/ioqueue_select.c
index 4bf11471..7738f668 100644
--- a/pjlib/src/pj/ioqueue_select.c
+++ b/pjlib/src/pj/ioqueue_select.c
@@ -38,6 +38,14 @@
#include <pj/sock_select.h>
#include <pj/errno.h>
+/* Now that we have access to OS'es <sys/select>, lets check again that
+ * PJ_IOQUEUE_MAX_HANDLES is not greater than FD_SETSIZE
+ */
+#if PJ_IOQUEUE_MAX_HANDLES > FD_SETSIZE
+# error "PJ_IOQUEUE_MAX_HANDLES cannot be greater than FD_SETSIZE"
+#endif
+
+
/*
* Include declaration from common abstraction.
*/
diff --git a/pjlib/src/pj/sock_select.c b/pjlib/src/pj/sock_select.c
index b3743b93..566050ef 100644
--- a/pjlib/src/pj/sock_select.c
+++ b/pjlib/src/pj/sock_select.c
@@ -35,13 +35,6 @@
# pragma warning(disable: 4389) // Signed/unsigned mismatch in FD_*
#endif
-/* Now that we have access to OS'es <sys/select>, lets check again that
- * PJ_IOQUEUE_MAX_HANDLES is not greater than FD_SETSIZE
- */
-#if PJ_IOQUEUE_MAX_HANDLES > FD_SETSIZE
-# error "PJ_IOQUEUE_MAX_HANDLES cannot be greater than FD_SETSIZE"
-#endif
-
#define PART_FDSET(ps) ((fd_set*)&ps->data[1])
#define PART_FDSET_OR_NULL(ps) (ps ? PART_FDSET(ps) : NULL)
#define PART_COUNT(ps) (ps->data[0])