On Friday 21 August 2015 01:45:12 Albert Astals Cid wrote:
> So with your new patches and https://git.reviewboard.kde.org/r/124856/ i
> can  run konsole fine both with --nofork and in the normal mode.

It wasn't racy before because the call from the parent process was queued in 
the socket of the child process, but it didn't get processed until app.exec() 
back in main() had been called. At that point, app existed and had been 
registered.

With the patches, the handling of the socket is done in a thread, so it 
happens immediately, before KUniqueApplication::start returns and, therefore, 
before the /MainApplication object is registered.

The solution in the patch is a hammer. We can do it with more finesse by having 
the child automatically start the new instance if it wasn't running before. I 
don't see why we need the call to newInstance from the parent.
-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

Reply via email to