[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-net
Subject: Re: SOCKETS, signal(), pthread???() and mutex???() - PROBLEMS
From: "Luciano Moreira - igLnx" <lucianolnx () ig ! com ! br>
Date: 2003-03-26 17:08:57
[Download RAW message or body]
Hi People ! Hi Glynn !
Finally I found a bug. I was printing received signal thus:
printf("\nSIGNAL: STOPING APP (%d %s)\n", sig,
(sig=SIGTERM) ?"SIGTERM" :
((sig=SIGABRT) ?"SIGABRT" :
((sig=SIGINT) ?"SIGINT" :"<undefined>"))
);
Setting the signal as SIGTERM, because I was using "=" instead "==".
Thank you very much, for help me to find the bug.
Luciano Moreira
----- Original Message -----
From: "Glynn Clements" <glynn.clements@virgin.net>
To: "Luciano Moreira - igLnx" <lucianolnx@ig.com.br>
Cc: <linux-net@vger.kernel.org>
Sent: Tuesday, March 25, 2003 10:39 PM
Subject: Re: SOCKETS, signal(), pthread???() and mutex???() - PROBLEMS
>
> Luciano Moreira - igLnx wrote:
>
> > But Glynn, my applicaton is receiving SIGTERM (signal 15).
>
> Just to check, are you sure that you aren't actually receiving signal
> 015 (octal 15 = decimal 13 = SIGPIPE)?
>
> > I'm handling SIGPIPE also, but I never received it signal.
>
> SIGPIPE is raised if you attempt to write to a descriptor (pipe,
> socket) for which the other end has closed the connection.
>
> Reading from a closed socket won't raise a signal; the call will just
> read zero bytes (this can only occur due to EOF; reading from a socket
> for which no data is available will either block until data is
> available, or fail with EAGAIN if the socket is non-blocking, or fail
> with EINTR if the call was interrupted).
>
> The only common reason for receiving SIGTERM is if a process
> explicitly raises it with kill(), e.g. via the "kill" command.
>
> The only cases which I can find where the kernel will send SIGTERM of
> its own accord are:
>
> a) If the system runs out of memory, the kernel will start killing
> processes (out-of-memory (OOM) killer); normally, it sends SIGKILL,
> but if the process has the CAP_SYS_RAWIO capability, it sends SIGTERM
> instead.
>
> b) Certain user-space processes which are significant to the kernel
> (e.g. SMB/NCP FS client processes, USB khubd process, I2O event
> handler and LCT processes) are terminated with SIGTERM.
>
> Option a) seems unlikely, and b) is out of the question for an
> ordinary process.
>
> --
> Glynn Clements <glynn.clements@virgin.net>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-net" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic