TCP Connections will linger in the kernel for about 15 minutes after the
application closes them.  Those can be seen from netstat or ss as TIME_WAIT.

A user/process has limits on file descriptors.  A non-root user by default
is only allowed 1024.

On Nov 14, 2017 1:33 PM, "michael" <[email protected]> wrote:

> Thank you.  Another question, how can I tell if the program opening
> sockets is crashing enough times to cause problems for other processes?
> My hypothesis is that this program opens 3 sockets and crashes, sockets
> linger for a while.  Do this n times, the Pi starts to have problems.
> If the Pi is resource starved, that will affect the NFS server running
> on it.
>
> On 2017-11-14 12:48, John Meissen wrote:
>
>> Sockets are just file descriptors. All file descriptors should be closed
>> automatically as part of the process termination cleanup that the system
>> does.
>>
>> While it's good practice to handle these sorts of things they will happen
>> automatically if you don't.
>>
>> In C there is an atexit function that takes no arguments.  Because of
>>> this, you can't pass in the
>>> file descriptors for your sockets.  Uge!  Short of making these integers
>>> global, how can I close
>>> these sockets on premature program termination?
>>>
>>> int client=0,server=0;
>>>
>>> void exiting()
>>> {
>>>      close(client);
>>>      close(server);
>>> }
>>>
>>> int main(void)
>>> {
>>>      atexit(exiting);
>>>
>>>      struct sockaddr...
>>> }
>>>
>>> Note that there are a bunch of includes for TCP sockets and a lot more
>>> code.
>>> _______________________________________________
>>> PLUG mailing list
>>> [email protected]
>>> http://lists.pdxlinux.org/mailman/listinfo/plug
>>>
>>
>>
>> _______________________________________________
>> PLUG mailing list
>> [email protected]
>> http://lists.pdxlinux.org/mailman/listinfo/plug
>>
> _______________________________________________
> PLUG mailing list
> [email protected]
> http://lists.pdxlinux.org/mailman/listinfo/plug
>
_______________________________________________
PLUG mailing list
[email protected]
http://lists.pdxlinux.org/mailman/listinfo/plug

Reply via email to