Hi Patrick,
With this patch (hopefully correct) applied:
---
$ cd src/virtuoso-opensource-6.0.0
$ sudo make clean
$ sudo make distclean
$ patch -p 0 -i patch_fd.diff
$ CFLAGS="-O2 -arch x86_64 -m64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -pipe
-w -mmacosx-version-min=10.6 -march=core2 -mtune=generic -mmmx -msse3 -mssse3
-ffast-math -ftree-vectorize -fomit-frame-pointer -fstrict-aliasing
-momit-leaf-frame-pointer -falign-loops -finline-functions -funswitch-loops
-fgcse-after-reload"
$ export CFLAGS
$ sudo ./configure --disable-imsg --disable-demo-vad --disable-sparqldemo-vad
--disable-syncml-vad --disable-ods-vad
$ sudo make
$ sudo make install
---
the "Exceeded maximum number of file descriptors in FD_SET." issue still occurs:
---
$ tail /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.log
23:37:58 Database version 3100
23:37:59 SQL Optimizer enabled (max 1000 layouts)
23:38:01 Compiler unit is timed at 0.002838 msec
23:38:04 Roll forward started
23:38:04 44 transactions, 3813 bytes replayed (100 %)
23:38:04 Roll forward complete
23:38:06 Checkpoint made, log reused
23:38:09 HTTP/WebDAV server online at 8890
23:38:09 Server online at 1111 (pid 49644)
23:50:39 Exceeded maximum number of file descriptors in FD_SET.
---
Best,
~Ceriel
Op 19 jan 2010, om 23:37 heeft Patrick van Kleef het volgende geschreven:
> HI Ceriel,
>
>> As soon as the virtuoso.log mentions "Exceeded maximum number of file
>> descriptors in FD_SET."
>> in a testing environment (=few users),
>> how should the OS or virtuoso or the OS be reconfigured?
>
> Please try the attached patch and see if this resolves the issue.
>
>
> Patrick
>
> <patch_fd.diff>
---
Index: libsrc/Wi/CLIsql1.c
===================================================================
RCS file: /opldev/source/CVS-MASTER/virtuoso-opensource/libsrc/Wi/CLIsql1.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- libsrc/Wi/CLIsql1.c 18 Aug 2009 17:49:09 -0000 1.25
+++ libsrc/Wi/CLIsql1.c 7 Dec 2009 15:41:58 -0000 1.26
@@ -890,31 +890,6 @@
}
-#ifdef INPROCESS_CLIENT
- if (inprocess_client)
- {
- void *client = get_inprocess_client ();
-
- if (client == NULL)
- {
- set_error (&con->con_error, "08001", "CL092", "In-process connect
failed.");
-
- return SQL_ERROR;
- }
-
- con->con_inprocess_client = client;
-
- ses = PrpcInprocessConnect (addr);
- if (ses == NULL)
- {
- set_error (&con->con_error, "08001", "CL093", "In-process connect
failed.");
- return SQL_ERROR;
- }
- }
- else
-#endif
- ses = PrpcConnect1 (addr, SESCLASS_TCPIP, con->con_encrypt, szPasswd,
con->con_ca_list);
-
if (!DKSESSTAT_ISSET (ses, SST_OK))
{
PrpcDisconnect (ses);
---