# phpman > man > Apache::Session::Lock::Sybase(1)

## NAME
    [Apache::Session::Lock::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3ALock%3A%3ASybase/markdown) - Provides mutual exclusion using Sybase

## SYNOPSIS
     use [Apache::Session::Lock::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3ALock%3A%3ASybase/markdown);

     my $locker = [Apache::Session::Lock::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3ALock%3A%3ASybase/markdown)->new;

     $locker->acquire_read_lock($ref);
     $locker->acquire_write_lock($ref);
     $locker->release_read_lock($ref);
     $locker->release_write_lock($ref);
     $locker->release_all_locks($ref);

## DESCRIPTION
    [Apache::Session::Lock::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3ALock%3A%3ASybase/markdown) fulfills the locking interface of [Apache::Session](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession/markdown). Mutual
    exclusion is achieved through the use of Sybase's sp_getapplock and sp_releaseapplock functions.
    Sybase does not support the notion of read and write locks, so this module only supports
    exclusive locks. When you request a shared read lock, it is instead promoted to an exclusive
    write lock.

## CONFIGURATION
    The module must know how to connect to your MySQL database to acquire locks. You must provide a
    datasource name, a user name, and a password. These options are passed in the usual
    [Apache::Session](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession/markdown) style, and are very similar to the options for [Apache::Session::Store::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3AStore%3A%3ASybase/markdown).
    Example:

     tie %hash, '[Apache::Session::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3ASybase/markdown)', $id, {
         LockDataSource => 'dbi:sybase:database',
         LockUserName   => 'database_user',
         LockPassword   => 'K00l'
     };

    Instead, you may pass in an already opened DBI handle to your database.

     tie %hash, '[Apache::Session::Sybase](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession%3A%3ASybase/markdown)', $id, {
         LockHandle => $dbh
     };

## AUTHOR
    This module was written by Oliver Maul <<oli@42.nu>>.

## SEE ALSO
    [Apache::Session](https://www.chedong.com/phpMan.php/perldoc/Apache%3A%3ASession/markdown)

