[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] sa_sigaction issue



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,
I've recently stumbled upon following problem in SDL 1.2 trunk (I'm,
using Vincent's latest cross GCC under Linux).
Someone altered code for Quit routine in SDL and it looks like this
(here is snippet):

#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif

ifdef HAVE_SIGACTION
	struct sigaction action;
	sigaction(SIGINT, NULL, &action);
	if ( action.sa_handler == SIG_DFL && action.sa_sigaction ==
(void*)SIG_DFL ) {
		action.sa_handler = SDL_HandleSIG;
		sigaction(SIGINT, &action, NULL);
	}
	sigaction(SIGTERM, NULL, &action);
	if ( action.sa_handler == SIG_DFL && action.sa_sigaction ==
(void*)SIG_DFL ) {
		action.sa_handler = SDL_HandleSIG;
		sigaction(SIGTERM, &action, NULL);
	}

The problem is that compiler complains that action struct doesn't have
member 'sa_sigaction', so lines:

if ( action.sa_handler == SIG_DFL && action.sa_sigaction ==
(void*)SIG_DFL )

and
if ( action.sa_handler == SIG_DFL && action.sa_sigaction == (void*)SIG_DFL )

break the build.
This 'sa_sigaction' looks like standard thing, but I don't have any idea
why it isn't defined. I've tried to look into the signal.h and I saw
only some scary things ;).

Anyone has an idea how it should be fixed? Besides removing
sa_sigaction part completely, if this possible at all? And why
sa_sigaction isn't valid?


Regards,
Pawel Goralski
nokturnal@nokturnal.pl

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJOG0mYAAoJEBDLM06eKs6d0iEH/3wQZJRvaTjhVs9LujwFhDM3
nViKEyTcFp6k7SywuxseImFUjm82iPUkEVB7IpAZNr51s1YLlCD8vFofVFwopXxo
DgD/FCMS+buQfxfHK7o8jVHhlUQt9YoFCi4XSNPCg1wlYhORu+SUHZgfekE3Ir0o
aRhbj51L3URyPJ6YJc3UOg6FxyCatONZEJWBWOXb60EwPJaf41hQwPzWdEWdlQZS
LAjVturGvoOVHY1CuaOxKkD4OE1fzp4LFj5TJ1lBp6VXOlEckylDAKjhPX6PkqUb
L1nDnpNWh6vCplTSFRrhN2n1j1/kSbi9pWBC5JZt74lHVeDEiHX7dm6pxdWxLKg=
=GeHZ
-----END PGP SIGNATURE-----

Attachment: smime.p7s
Description: Kryptograficzna sygnatura S/MIME