Re: waitid() fails with EINVAL for SA_RESTART signals

From: Roland McGrath
Date: Thu May 26 2005 - 16:23:22 EST


Your test works fine on FC4 kernels (which are pretty current),
but it does hit the problem on my vanilla build. strace output suggests
something is clobbering two registers:

waitid(P_PID, 1740, Sending signal to parent
0xbfc8b198, WEXITED|WSTOPPED|WCONTINUED, NULL) = ? ERESTARTSYS (To be restarted)
--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
write(1, "Caught signal", 13Caught signal) = 13
write(1, "\n", 1
) = 1
sigreturn() = ? (mask now [])
waitid(0x6cc /* P_??? */, 14, 0xbfc8b198, 0, NULL) = -1 EINVAL (Invalid argument)


I will look into it further.


Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/