#include <db.h> int DB_ENV->mutex_alloc(DB_ENV *dbenv, u_int32_t flags, db_mutex_t *mutexp);
         The DB_ENV->mutex_alloc() method allocates a mutex and returns a
         reference to it into the memory specified by mutexp.
    
             The DB_ENV->mutex_alloc() method may not be called before the 
             DB_ENV->open()  method is called.
    
         The DB_ENV->mutex_alloc() 
            
                  method returns a non-zero error value on failure and 0 on success.
            
            
        
    
The flags parameter must be set to 0 or by bitwise inclusively OR'ing together one or more of the following values:
The mutex is associated with a single process. The DB_ENV->failchk() method will release mutexes held by any process which has exited.
                 The mutex must be self-blocking.  That is, if a thread of control
                 locks the mutex and then attempts to lock the mutex again, the thread
                 of control will block until another thread of control releases the
                 original lock on the mutex, allowing the original thread of control to
                 lock the mutex the second time.  Attempting to re-acquire a mutex for
                 which the DB_MUTEX_SELF_BLOCK flag was not specified will result in
                 undefined behavior.
            
                         The DB_ENV->mutex_alloc() 
            
                 method may fail and return one of the following non-zero errors: