>however the invarient that there is exactly one wakeup for
>every sleep requires some careful accounting that
>can be equally error prone.care not to double-interrupt.

if a process p sleeps on r for condition f, and there are two wakeup(r), only
the first wakeup does anything because by the time of the second,
r doesn't refer to p any more. were you wanting r to retain memory of p so
the second wakeup would ... presumably still not do anything? (because
p wouldn't be in the right state.) if so, i don't see what you've gained.
i must be missing something.

Reply via email to