The key thing that the old code does it to drop the ref to the old task as
soon as it notices. It may be worthwhile to do that in the case where
send_sigqueue fails. I realize it's already not perfect, since it will
keep the old ref around for a long time if the timer does not fire soon.
Thanks,
Roland
--