HAL-LOCK

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
RETURN VALUE
NOTES
BUGS
SEE ALSO
AUTHOR

NAME

hal-lock − lock an interface

SYNOPSIS

hal-lock [options]

DESCRIPTION

hal-lock can be used to acquire a lock on a given interface either on a given device or globally. For more information about both the big picture and the semantics of HAL locks, refer to the HAL spec which can be found in /usr/share/doc/hal-0.5.14/spec/hal-spec.html depending on the distribution.

OPTIONS

The following options are supported:

--interface

The name of the interface to lock.

--run

Program to run if the lock was acquired.

--udi

The UDI (Unique Device Identifier) of the device object. If this is ommitted, the global lock will be tried.

--exclusive

Whether the lock can be held by others.

--exit-with-lock

Kill the program if the acquired lock is lost. This only makes sense if you pass a specific UDI due to the semantics of HAL locks.

--exit-with-dev

Kill the program if the device is removed. This only makes sense if you pass a specific UDI due to the semantics of HAL locks.

--help

Print out usage.

--version

Print the version.

RETURN VALUE

This program will attempt to grab a lock on a given interface. Unless, a specific UDI is given, the global lock will be tried. If the lock was succesfully acquired the program specified by the option --run will be run and upon termination this program will exit with exit code 0. If the lock wasn’t acquired or an error occured while taking the lock, this program will exit with a non-zero exit code and the given program will not be run.

NOTES

This program is only useful for launching software that doesn’t use HAL at all (since such software launched using hal-lock would be locked out itself); for example a partition table editor part-foo may use wrapper script like this

hal-lock --interface org.freedesktop.Hal.Device.Storage --exclusive --run /path/to/part-foo-program

BUGS

Please send bug reports to either the distribution or the HAL mailing list, see http://lists.freedesktop.org/mailman/listinfo/hal on how to subscribe.

SEE ALSO

hald(8), lshal(1), hal-get-property(1), hal-set-property(1), hal-find-by-property(1), hal-find-by-capability(1)

AUTHOR

Written by David Zeuthen <david@fubar.dk> with a lot of help from many others.