FTP Server busy waiting when file descriptors are exhausted
Chris Johns
chrisj at rtems.org
Tue Mar 28 10:39:37 UTC 2006
Thomas Rauscher wrote:
>
> You are right, a well designed application should not run into this
> situation.
>
Ok.
> However, in my opinion the FTP server should handle this case more
> gracefully and not hang up exhausting the entire CPU time.
Sure causing a lock up is not nice.
> Currently, the
> problem that all fds are used triggers another problem that all lower
> priority threads are preempted by a not very productive thread.
Is this the case for just a single client connection ?
>
> This is what I'm trying to address with my two proposed solution
> sketches.
>
Ok.
> 1) Add a sleep() in the FTP server (less intrusive, but doesn't fix the
> problem)
It cannot fix a problem else where in the code but it would resolve the
loading issue which may let other code run and recover.
> 2) Close control socket and open again. However, what should happens if
> the control socket cannot be reopened? This would be even worse. AFAIK, there is
> no flush function for listening sockets.
By control socket do you mean the listen socket ?
This is not a great solution.
I am curious what the networking stack is suppose to do with a
connection that does not have an available fd. Should the connection be
dropped ? Does anyone know what other operating system do ?
Regards
Chris
More information about the users
mailing list