RFC: Netx - Implement SingeInstanceService
Andrew Haley
aph at redhat.com
Mon Jun 22 06:45:40 PDT 2009
Omair Majid wrote:
> The attached patch adds support for SingleInstanceService to Netx.
>
> It creates a lock file under ~/.netx/locks/ once an application adds a
> SingleInstanceListener to the SingleInstanceService. A second instance
> of the application sees this lock file, sends it's arguments to the
> first instance and shuts down.
>
> ChangeLog:
> 2009-06-18 Omair Majid <omajid at redhat.com>
>
> *rt/net/sourceforge/jnlp/Launcher.java
> (launchApplication): Check for any existing single instance.
> Dont start a second instance.
> *rt/net/sourceforge/jnlp/resources/Messages.properties: Add
> RNoLockDir.
> *rt/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java
> New file.
> *rt/net/sourceforge/jnlp/services/InstanceExistsException.java: New
> file.
> *rt/net/sourceforge/jnlp/services/ServiceUtil.java
> (getSingleInstanceService): New function.
> (checkExistingSingleInstance): New function.
> *rt/net/sourceforge/jnlp/services/SingleInstanceLock.java: New
> file.
> *rt/net/sourceforge/jnlp/services/XServiceManagerStub.java: Add
> SingleInstanceService to serviceNames. Create a new instance of
> XSingleInstanceService as a privileged proxy.
> *rt/net/sourceforge/jnlp/services/XSingleInstanceService.java: New
> file.
>
> Any comments?
Do you know that the first instance is connected to the same X server?
What happens if a stale lock file is left behind by some earlier event?
Is it good to use NFS for the lock file? Would something in /tmp work
better?
Andrew.
More information about the distro-pkg-dev
mailing list