• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Missing in sigaction
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Missing in sigaction


  • Subject: Re: Missing in sigaction
  • From: Tilghman Lesher <email@hidden>
  • Date: Tue, 27 Mar 2012 15:22:09 -0500

On Tue, Mar 27, 2012 at 1:57 PM, Nat! <email@hidden> wrote:
> instead of many words, here's the output of two program runs once with a sleep( 2) - as in seconds, not as in man -  commented in and out. What I believe this demonstrates, is that on Darwin (Kernel Version 10.8.0), blocked signal information is lost, which is incovenient. gdb has a similiar problem.
>
> Or it shows that I am misunderstanding something ;)
>
> The problem is not that the signal is occurring less often, that's expected, but that the struct __siginfo has trouble remembering things.

You really should read the manpage for sigaction, in particular, the
section that reads:

"In general though, signal handlers should do little more than set a
flag; most other actions are not safe."

Note, also, that printf() is not in the list of "safe" functions to
call.  Thus your call to p_log is defined as not safe.  While sleep()
is safe to call, it also violates one of the cardinal rules of signal
handlers -- do only what is necessary to flag that a signal occurred,
and do not take more time than is necessary.  The actual handling of
what the signal represents should be done in a main thread.

-Tilghman

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Follow-Ups:
    • Re: Missing in sigaction
      • From: Nat! <email@hidden>
References: 
 >Missing in sigaction (From: Nat! <email@hidden>)

  • Prev by Date: Missing in sigaction
  • Next by Date: Re: Missing in sigaction
  • Previous by thread: Missing in sigaction
  • Next by thread: Re: Missing in sigaction
  • Index(es):
    • Date
    • Thread