Hi,

On Thu, Sep 08, 2005 at 03:37:13AM +0100, Rene W. Olsen wrote:
> sanei/sanei_thread.c: In function `restore_sigpipe':
> sanei/sanei_thread.c:310: error: storage size of 'act' isn't known
> sanei/sanei_thread.c:312: warning: implicit declaration of function 
> `sigaction'
> sanei/sanei_thread.c:312: error: `SIGPIPE' undeclared (first use in this 
> function)

All the signal stuff is defined in the system header file signal.h. If
that's not available on Amigaos, maybe it just does not support signals?

> in this function
> 
> static void
> restore_sigpipe( void )
> {
>     struct sigaction act;
> 
>     if( sigaction( SIGPIPE, NULL, &act ) == 0 ) {
> 
>         if( act.sa_handler == SIG_IGN ) {
>             sigemptyset( &act.sa_mask );
>             act.sa_flags   = 0;
>             act.sa_handler = SIG_DFL;
>             
>             DBG( 2, "restoring SIGPIPE to SIG_DFL\n" );
>             sigaction( SIGPIPE, &act, NULL );
>         }
>     }
> }
> 
> The problem is that there isent any structure/macro on Amiga called sigaction.
> And I cant really understand that sigaction first is definded as a structure 
> and then
> used as a macro.

"struct sigaction" and the function "sigaction" are different things.

> Any hint were to find some info on sigaction is welcome :D

"man sigaction" :-) You should find the manual page in google.

>From Linux man page:
       #include <signal.h>

       int sigaction(int signum, const struct sigaction *act, struct sigaction 
*oldact);

Bye,
  Henning

Reply via email to