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

Thiago Macieira thiago at kde.org
Fri Feb 4 20:30:28 GMT 2011


On Friday, 4 de February de 2011 19:38:51 Oswald Buddenhagen wrote:
> On Fri, Feb 04, 2011 at 06:28:10PM +0100, Thiago Macieira wrote:
> > Em sexta-feira, 4 de fevereiro de 2011, às 18:17:13, Thiago Macieira 
escreveu:
> > > I thought about that. My work on no-thread-until-pipes-close had
> > > already documented this as a behaviour change.
> > 
> > Think about it anyway: if the child process dies but the grandchild one
> > doesn't, it will die when the current application exits.
> 
> not if it doesn't actually care for its stdio, like most gui
> applications. and as redirecting stdio is the default in qprocess, this
> would happen rather often.
> 
> > There is another drawback: the child process would be a Zombie until all
> > its children died too.
> 
> yes, and expected qt signals would not be delivered, so the parent would
> livelock.
> i've been through this 
ith naive implementations. trust me, it just
> doesn't work.

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

-- 
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/e9299cca/attachment.sig>


More information about the kde-core-devel mailing list