qemu-user doesn't block target signals on entry to signal hanlder.

Bug #1429313 reported by Timothy Baldwin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Timothy Baldwin

Bug Description

Upon entry to a target signal handler the function process_pending_signals in linux-user/signal.c block the appropriate host signals, but signals already received and queued by Qemu are not blocked. If multiple signals arrive in quick succession this results incorrect recursion in the target signal handler.

The attached test case my be run as:

$ (sleep 2 ; echo) | qemu-i386 ./a.out
.................. Recursion in signal handler!
qemu: uncaught target signal 6 (Aborted) - core dumped

Revision history for this message
Timothy Baldwin (t-e-baldwin99) wrote :
Changed in qemu:
assignee: nobody → Timothy Baldwin (t-e-baldwin99)
status: New → In Progress
Revision history for this message
Peter Maydell (pmaydell) wrote :

The patches to block signals on entry to the signal handler have now been applied to master.

Changed in qemu:
status: In Progress → Fix Committed
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.