Hi Linus,
Agreed! In my alternative version of the Posix timers patch, I avoid
calling do_signal() from clock_nanosleep by using a variant of the
existing ERESTARTNOHAND mechanism. The problem I ran into was that I
could not tell on entry to clock_nanosleep if it was a new call or
an old one being restarted. I solved this by adding a new
ERESTARTNANOSLP error code and making a small change in do_signal().
The handling of ERESTARTNANOSLP is the same as ERESTARTNOHAND but also
sets a new flag in the task_struct before restarting the system call.
This is still an architecture-specific change but atleast it is simple.
Jim Houston - Concurrent Computer Corp.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/