-----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