[pulseaudio-tickets] [PulseAudio] #430: Threaded mainloop API steals signals unnecessarily

PulseAudio trac-noreply at tango.0pointer.de
Wed Dec 3 18:18:47 PST 2008


#430: Threaded mainloop API steals signals unnecessarily
-----------------------+----------------------------------------------------
 Reporter:  jcornwall  |       Owner:  lennart
     Type:  defect     |      Status:  new    
 Priority:  normal     |   Milestone:         
Component:  libpulse   |    Severity:  normal 
 Keywords:             |  
-----------------------+----------------------------------------------------
 The following code in src/pulse/threaded-mainloop.c:


 {{{
 /* Make sure that signals are delivered to the main thread */
 sigfillset(&mask);
 pthread_sigmask(SIG_BLOCK, &mask, NULL);
 }}}

 Interferes badly with client applications that use signals for other
 purposes, including the Mono runtime environment. This functionality is
 only needed when pa_signal_init() has been called but is indiscriminately
 applied to all clients, when only a fraction will use this feature.

 Attached is a patch to conditionally run this code when pa_signal_init()
 has been called. Because mainloop-signal.c is API-agnostic wiring the two
 together is tricky, so I opted to add an internal (exposed but not
 exported) API-agnostic function to act as a buffer. The patched library
 works with signal-dependent applications and does not alter functionality
 in other applications where pa_signal_init() is called, as it must before
 using signalling features.

-- 
Ticket URL: <http://pulseaudio.org/ticket/430>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list