Commit d9a7c7de authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

David Bentham's updated QNX notification

parent d57e0988
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -326,19 +326,15 @@ QNX
===
   (This section was graciously brought to us by David Bentham)

   By setting FD_SETSIZE early in connect.c we override the QNX default value
   and thus avoid a crash.

   Fortunately in the QNX headers its defined as

    #ifndef FD_SETSIZE
      #define FD_SETSIZE 32
    #endif

   so its relatively easy to override without changing the original
   definition. QNX claim posix compliance so this definition style could be
   standard in other o/s's. Eg Microsoft Visual C++ 6 defines it similarly,
   but its set to 64.
   As QNX is targetted for resource constrained environments, the QNX headers
   set conservative limits. This includes the FD_SETSIZE macro, set by default
   to 32. Socket descriptors returned within the CURL library may exceed this,
   resulting in memory faults/SIGSEGV crashes when passed into select(..)
   calls using fd_set macros.

   A good all-round solution to this is to override the default when building
   libcurl, by overriding CFLAGS during configure, example
   #  configure CFLAGS='-DFD_SETSIZE=64 -g -O2'

CROSS COMPILE
=============