Wie die sa_mask in sigset_t?
gcc (GCC) 4.6.0
c89
Habe ich einen signal-handler deklariert wie diese:
/* Setup signal handler */
struct sigaction new_action;
new_action.sa_handler = g_signal_handler;
new_action.sa_flags = SA_ONSTACK;
if(sigaction(SIGINT, &new_action, NULL) == -1) {
fprintf(stderr, "Failed to setup signal handlers.");
return -1;
}
Wenn ich meinen code durch valgrind d.h. valgrind --leak-check=full
es nahm die folgende Fehlermeldung:
==5206== Syscall param rt_sigaction(act->sa_mask) points to uninitialised byte(s)
==5206== at 0x347A435455: __libc_sigaction (in /lib64/libc-2.14.so)
So aftering Blick auf die man-pages habe ich beschlossen, wie diese, nur zum testen mit:
new_action.sa_mask = SA_NODEFER;
Jedoch, dass geben Sie mir nur die folgende Fehlermeldung:
error: incompatible types when assigning to type ‘__sigset_t’ from type ‘int’
Vielen Dank für alle Anregungen,
InformationsquelleAutor ant2009 | 2011-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
InformationsquelleAutor cnicutar