diff options
-rw-r--r-- | docs/INSTALL | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/docs/INSTALL b/docs/INSTALL index 7b779c037..ae5556969 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -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 ============= |