[PATCH] Allow forced new processes for KUniqueApplication
    Robert Knight 
    robertknight at gmail.com
       
    Sun Mar 23 18:18:50 GMT 2008
    
    
  
Hi,
> The two together seem... odd. How can you not fork and yet force a new 
> process? :-)
I think the name ForceNewProcess is misleading.  What I really mean is 
"don't re-use an existing instance of this application" which is done
by using a process-specific name when registering with the DBus server.
The sequence of events when starting two instances with just ForceNewProcess
would be:
(Process 0) KUniqueApplication::start()  (forks => Process 1)
(Process 1) KUniqueApplication::newInstance()
(Process 0 Exits)
(Process 2) KUniqueApplication::start()  (forks => Process 3)
(Process 2 Exits)
(Process 3) KUniqueApplication::newInstance() 
With ForceNewProcess | DoNotFork:
(Process 0) KUniqueApplication::start()  
(Process 0) KUniqueApplication::newInstance()
(Process 1) KUniqueApplication::start()  
(Process 1) KUniqueApplication::newInstance() 
With no flags:
(Process 0) KUniqueApplication::start()  
(Process 0) KUniqueApplication::newInstance()
(Process 1) KUniqueApplication::start()  
(Process 0) KUniqueApplication::newInstance() 
Regards,
Robert.
On Sun, 2008-03-23 at 18:56 +0100, Thiago Macieira wrote:
> Robert Knight wrote:
> >StartFlags {
> >        ForceNewProcess = 0x1 ,
> >        DoNotFork = 0x2
> >}  
> 
> The two together seem... odd. How can you not fork and yet force a new 
> process? :-)
> 
> Anyways, I'd suggest the multiple instances approach. How about 
> AllowMultipleInstances, thus matching the config?
> 
    
    
More information about the kde-core-devel
mailing list