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