## NAME

ACE_Remote_Mutex - Proxy for acquiring, renewing, and releasing a distributed mutex.

## SYNOPSIS

    #include <ACE/Remote_Tokens.h>

    class ACE_Remote_Mutex : public ACE_Remote_Token_Proxy
    {
      public:
        ACE_Remote_Mutex (void);
        ACE_Remote_Mutex (
            const ASYS_TCHAR *token_name,
            int ignore_deadlock = 0,
            int debug = 0
            );
        void dump (void) const;
        virtual ACE_Token_Proxy *clone (void) const;
      protected:
        virtual ACE_Tokens *create_token (const ASYS_TCHAR *name);
    };

## DESCRIPTION

This is the remote equivalent to ACE_Local_Mutex. The Remote_Mutex class offers methods for acquiring, renewing, and releasing a distributed synchronization mutex. Similar to ACE_Local_Mutex, ACE_Remote_Token_Proxy offers recursive acquisition, FIFO waiter ordering, and deadlock detection. It depends on the Token Server for its distributed synchronization semantics.

## PUBLIC MEMBERS

    ACE_Remote_Mutex (void);

Null creation. Remote_Token_Proxy::open must be called.

    ACE_Remote_Mutex (
        const ASYS_TCHAR *token_name,
        int ignore_deadlock = 0,
        int debug = 0
        );

Calls Remote_Token_Proxy::open for you.

    void dump (void) const;

Dump the state of the class.

    virtual ACE_Token_Proxy *clone (void) const;

Return deep copy.

## PROTECTED MEMBERS

    virtual ACE_Tokens *create_token (const ASYS_TCHAR *name);

Make the correct type of ACE_Tokens. This is called by the Token Manager.

## AUTHOR

Douglas C. Schmidt (schmidt@cs.wustl.edu) and Tim Harrison (harrison@cs.wustl.edu)

## LIBRARY

ACE