All of lore.kernel.org
 help / color / mirror / Atom feed
From: soraberri <421246@posta.unizar.es>
To: linux-c-programming@vger.kernel.org
Subject: Re: anything to do with pointer to functions maybe?
Date: Thu, 23 Dec 2004 15:19:36 +0100	[thread overview]
Message-ID: <cqek6r$mng$1@sea.gmane.org> (raw)
In-Reply-To: <20041223114718.GX2460@lug-owl.de>

Jan-Benedict Glaw wrote:
> On Thu, 2004-12-23 11:24:39 +0100, soraberri <421246@posta.unizar.es>
> wrote in message <cqe6ed$ldf$1@sea.gmane.org>:
> 
>>Hi all!
>>I'm having troubles understanding code:
>>
>>what type is __sighandler_t if it is defined this way:?
>>typedef void (*__sighandler_t) (int);
> 
> 
> We define that any signal handling function doesn't return anything
> useful (void, that is), and all these functions get a single argument
> (of type int) supplied.
> 
> 
>>and then, what does this definition  mean:
>> #define SIG_IGN  ((__sighandler_t) 1)	
> 
> 
> Also, we don't want *all* signals to actually be handled. Some are to be
> ignored. Since we can only use function pointers (now of type
> __sighandler_t), we need to have a special magic value (1 in this case)
> that we can use.
> 
> However, "1" alone doesn't make a good function pointer, nor is it a
> function at all or does accept arguments. To "look" like a function
> pointer of correct type, "1" is casted to be of __sighandler_t.
> 
> There would have been another approach: we could have written a small
> function that does nothing and could be used instead. However, it's
> address could change, so it doesn't work well as an API. This is why
> instead a distenct value (1) is used instead.
> 
> MfG, JBG
> 

Thanks Jan, I think I have understood...

regards and have happy days


  reply	other threads:[~2004-12-23 14:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-23 10:24 anything to do with pointer to functions maybe? soraberri
2004-12-23 11:47 ` Jan-Benedict Glaw
2004-12-23 14:19   ` soraberri [this message]
2004-12-30 11:26 ` Glynn Clements

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='cqek6r$mng$1@sea.gmane.org' \
    --to=421246@posta.unizar.es \
    --cc=linux-c-programming@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.