Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 4 Jul 2016 02:49:28 -0700
From: Jorge Almeida <jjalmeida@...il.com>
To: musl@...ts.openwall.com, Jorge Almeida <jjalmeida@...il.com>
Subject: Re: abort() PID 1

On Mon, Jul 4, 2016 at 2:31 AM, Szabolcs Nagy <nsz@...t70.net> wrote:
> * Jorge Almeida <jjalmeida@...il.com> [2016-07-04 01:09:32 -0700]:
>> What I thought I understood:
>>
>> - the kernel will not deliver any signal to process 1, unless a signal
>> handler for that particular signal has been installed
>>
>
> not all signals behave that way.

Would you elaborate on that? (links?)


>
> this is raise(SIGABRT), abort is different.

Quotes in my first message say it's the same:


>>
>> (http://pubs.opengroup.org/onlinepubs/9699919799/)
>>
>> "The SIGABRT signal shall be sent to the calling process as if by
>> means of raise() with the argument SIGABRT."
>>
>


> it also says
>
>  "The abort() function shall cause abnormal process termination
>   to occur, unless the signal SIGABRT is being caught and the
>   signal handler does not return."
>
> and
>
>  "The abort() function shall not return."
>
This is where I see an inconsistency...

>
> there is no inconsistency.
>
> abort should raise(SIGABRT) and it should terminate the process.
>
> (normally there should be an abort syscall provided by the kernel,
> but linux does not have it.)
>
>> So, can one trust the man pages?
>
> not always, use the standard for standard interfaces.

Too bad...

Thanks

Jorge

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.