Review Request: Workaround for the hang (freeze) when opening VLC's file dialog under KDE...

Thiago Macieira thiago at kde.org
Fri Feb 4 22:44:46 GMT 2011


On Friday, 4 de February de 2011 19:28:06 Nicolás Alvarez wrote:
> On 04/02/2011, Thiago Macieira <thiago at kde.org> wrote:
> > Ok, fair enough. Threading-after-pipes-closed is not an option then.
> > 
> > That leaves back again at square one:
> >  - one thread per subprocess
> > 
> > OR
> > 
> >  - SIGCHLD handler
> > 
> > OR
> > 
> >  - kernel developers give us some new syscalls like pidfd or waitpidv
> 
> Would signalfd (Linux-specific) be useful for this?

No, completely useless.

I tried it yesterday.

signalfd is as useful as signals themselves: they work if and only if you have 
a central place of authority for receiving the signal. It requires blocking 
the reception of that signal in all threads, otherwise behaviour is 
unpredictable.

In turn, since VLC unblocks SIGCHLD in one thread and even sigwaits on it, the 
signalfd never fires.

I threw aw
y the code.

signalfd is not for libraries.
-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110204/0f2ce052/attachment.sig>


More information about the kde-core-devel mailing list