[haiku-commits] Re: BRANCH mmadia-github.separate-build-environment - in headers/build/posix_target: . arch/x86

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 16 Aug 2012 14:34:23 +0200

On 2012-08-16 at 03:49:16 [+0200], mmadia-github.separate-build-environment 
<community@xxxxxxxxxxxx> wrote:
> diff --git a/headers/build/posix_target/target_signal.h 
> b/headers/build/posix_target/target_signal.h
[...]
> +/* macros defining the standard signal handling behavior */
> +// NOTE: #8730 -- does __sighandler_t need to be prefixed?
> +#define _HAIKU_BUILD_SIG_DFL        ((__sighandler_t)0)        /* 
> "default" signal behaviour */

Yes.

> +// NOTE: #8730 -- are unions handled in the same was as structs, enums?
> +union _HAIKU_BUILD_IDENTIFIER(sigval) {

Yes, exactly like structs.

> +    int        sival_int;
> +    void*    sival_ptr;
> +};
> +
> +struct _HAIKU_BUILD_IDENTIFIER(sigevent) {
> +    int                                        sigev_notify;    /* 
> notification type */
> +    int                                        sigev_signo;    /* signal 
> number */
> +    union _HAIKU_BUILD_IDENTIFIER(sigval)    sigev_value;    /* 
> user-defined signal value */
> +    // NOTE: #8730 -- hmm. No idea as what to do for this.
> +    void                                    (*sigev_notify_function)(union 
> _HAIKU_BUILD_IDENTIFIER(sigval));

It's fine like this.

[...]
> +/* signal handler function types */
> +// TODO: #8730 -- Get advice from Ingo on what to do.
> +typedef void (*__sighandler_t)(int);
> +typedef void (*__siginfo_handler_t)(int, 
> _HAIKU_BUILD_IDENTIFIER(siginfo_t)*, void*);

Use _HAIKU_BUILD_IDENTIFIER for the name of the type. These work just like 
any other typedef. Only the notation is a bit different, since they are 
function types.

CU, Ingo

Other related posts: