Article View: pl.comp.os.linux.programowanie
Article #72495Re: setjmp/longjmp
From: Kicer
Date: Fri, 25 May 2012 05:11
Date: Fri, 25 May 2012 05:11
37 lines
1649 bytes
1649 bytes
Michoo wrote:
> On 20.05.2012 15:04, Borneq wrote:
>> http://www.mkssoftware.com/docs/man3/setjmp.3.asp
>> "The setjmp() function does not save the calling thread's signal mask;
>> refer to sigsetjmp()"
>> Co się dzieje gdy nie zachowa maski sygnału,
> Nie zostanie przywrócona w przypadku modyfikacji.
>
> extern int foo=0;
>
> disable_interrupt();//sekcja krytyczna
> if(setjmp() == 0)
> bar();
> ...
> enable_interrupt();//koniec sekcji krytycznej
> bar(){
> ...
> enable_interrupt();
> ...
> if(...)
> longjmp();
> }
>
> Jak teraz bar wykona skok to w sekcji krytycznej będziesz miał
> odblokowane przerwania.
co także warte uwagi, nie wywołają się destruktory obiektów stworzonych
przed longjmp (o ile powinny w związku ze zmianą scopu)
pozdrawiam
--
Michał Walenciak
gmail.com kicer86
http://kicer.sileman.net.pl
gg: 3729519
Technical Details
Message-ID:
<jpn49b$ori$1@kushnir.sileman>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!nf1.ipartners.pl!ipartners.pl!news.sileman.pl!not-for-mailReferences:
<jpaq16$99s$1@inews.gazeta.pl> <jpb5fm$83n$1@mx1.internetia.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!nf1.ipartners.pl!ipartners.pl!news.sileman.pl!not-for-mail From: Kicer <a@b.c> Newsgroups: pl.comp.os.linux.programowanie Subject: Re: setjmp/longjmp Date: Fri, 25 May 2012 07:11:07 +0200 Organization: Sileman news server Lines: 38 Message-ID: <jpn49b$ori$1@kushnir.sileman> References: <jpaq16$99s$1@inews.gazeta.pl> <jpb5fm$83n$1@mx1.internetia.pl> NNTP-Posting-Host: host-5db0eeee.sileman.net.pl Mime-Version: 1.0 X-Trace: kushnir.sileman 1337922667 25458 93.176.238.238 (25 May 2012 05:11:07 GMT) X-Complaints-To: usenet@kushnir.sileman NNTP-Posting-Date: Fri, 25 May 2012 05:11:07 +0000 (UTC) User-Agent: KNode/4.8.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit