This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FreeBSD Netstack EPIPE error


Hans:

I have seen similar behavior with our web server, but so far we have
ignored the issue as we are using HTTP and could get away with
occasional connection loss.

I am not sure if this is really apropos, but in the case of HTTP, make sure that you are not exhausting the total available socket descriptors.

Jonathan from eCosCentric pointed out to me that when you close() a
descriptor the resources are not deallocated immediately by the netstack.
If in the meantime you continue serving pages, you quickly exhaust
the pool of available sockets as you use them to serve requests.

In this case you would see a freezup for a minute or more, and then
the page you originally requested would be served. After some more
pages are served, the server would again freeze (on select(), if I
remember correctly.)

The solution is to increase CYGNUM_FILEIO_NFILE and
CYGNUM_FILEIO_NFD. Currently they are set to 16, and you might
try some value, say 64, that should clearly tell you if you are in the
right direction. Increasing CYGNUM_FILEIO_NFILE increases
CYGNUM_NET_MAXSOCKETS, which is _really_ what you want.

Cheers
Tony

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]