[Spread-users] Bug in SP_connect_timeout?

John Lane Schultz jschultz at spreadconcepts.com
Thu Dec 8 09:07:53 EST 2016

Yes, please allow me to apologize to everyone that the Spread mailing list was down for so long.  

We were having mail issues for an extended period of time and our other work was too pressing to allow us the necessary time to fix it.

Everything should be working now again and we will endeavor to keep things in good working order moving forward.

PS - Wow, 1M file descriptors in a single process or across many processes?


John Lane Schultz
Spread Concepts LLC
Cell: 443 838 2200

On Dec 8, 2016, at 8:34 AM, Arkady Lipovetsky <arkady at peerapp.com> wrote:

Thanks for response.
Yes You are right,
I am dealing with Linux, and Linux kernel configuration used a same value so this is not enough to redefine this value, we have to recompile a kernel.
After my using epoll there is no problem and we are using more than 1M file descriptors. 
Anyway I am happy to get response to message that was first time sent one year ago :)

-----Original Message-----
From: John Lane Schultz [mailto:jschultz at spreadconcepts.com] 
Sent: יום ה 08 דצמבר 2016 15:02
To: spread-users at lists.spread.org
Subject: Re: [Spread-users] Bug in SP_connect_timeout?


This is not a bug.  This is a limitation of the current events system’s implementation that is properly enforced.  Some platforms (e.g. - win32) allow you to redefine FD_SETSIZE before select() is declared to allow select to handle more file descriptors.  If you want to try that, then you can do it in libspread-util/src/arch.h  However, if your maximum fd number is very high, then select and the event system may not perform very well.

Not all platforms have epoll.  If you want to contribute your code to the project for consideration for inclusion in Spread, then you can follow the instructions here:



John Lane Schultz
Spread Concepts LLC
Cell: 443 838 2200

On Dec 8, 2016, at 2:43 AM, Arkady Lipovetsky <arkady at peerapp.com> wrote:

Hi, guys I have encountered a BUG in spread user interface that is intended for asynchronous working (event system). The mechanism is implemented on "select" call, but this call has some limitation such as a max file descriptor that is 1024. The spread check this value and generate an error if file descriptor more than 1024. In my local version I has solved this issue by using epoll system call instead select. We are using a huge number for file descriptors, so if  number of used file descriptors is more than 1024 (it happens at spread reconnection time we get an Error). I checked all previous version and found that this BUG exists in all of them.


Spread-users mailing list
Spread-users at lists.spread.org

More information about the Spread-users mailing list