--- /dev/null +++ b/include/signal_compat.h @@ -0,0 +1,4 @@ +#define SIGEV_SIGNAL 0 /* notify via signal */ +#define SIGEV_NONE 1 /* other notification: meaningless */ +#define SIGEV_THREAD 2 /* deliver via thread creation */ +#define SIGEV_THREAD_ID 4 /* deliver to thread */ --- a/criu/pie/restorer.c +++ b/criu/pie/restorer.c @@ -50,6 +50,10 @@ #include "shmem.h" #include "restorer.h" +#ifndef __GLIBC__ +#include "signal_compat.h" +#endif + #ifndef PR_SET_PDEATHSIG #define PR_SET_PDEATHSIG 1 #endif @@ -1067,7 +1071,7 @@ #ifdef __GLIBC__ sev._sigev_un._tid = args->posix_timers[i].spt.notify_thread_id; #else - sev.sigev_notify_thread_id = args->posix_timers[i].spt.notify_thread_id; + sev.sigev_notify_function = args->posix_timers[i].spt.notify_thread_id; #endif sev.sigev_value.sival_ptr = args->posix_timers[i].spt.sival_ptr;