rts: Ignore signal before deleting timer. Fixes #7303.
authorErik de Castro Lopo <erikd@mega-nerd.com>
Sat, 6 Oct 2012 07:23:01 +0000 (17:23 +1000)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Sat, 13 Oct 2012 21:44:40 +0000 (08:44 +1100)
commit5f3c1055c2a5a59117985420909dd9148d7b2ba6
treeeeb101e0662d2f50ef6af57bef0bbd22ac30e2b4
parent22df9533d0a0a51268135ce46c0ca9ffcbbaa82a
rts: Ignore signal before deleting timer. Fixes #7303.

Was getting an ocassional hang or segfault when building GHC in a
Qemu user space emulation of ARM. Turned out that the ITIMER_SIGNAL
was being delivered *after* the call to timer_delete(). Setting the
signal to SIG_IGN before deleting the timer solves the problem.
rts/posix/Itimer.c