FreeBSD/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c
/* Return a baton that wraps NESTED and requests LOCK_ID as additional lock.
 *
 * That means, when you create a lock chain, start with the last / innermost
 * lock to take out and add the first / outermost lock last.
 */
Return a baton that wraps NESTED and requests LOCK_ID as additional lock.
That means, when you create a lock chain, start with the last / innermost
lock to take out and add the first / outermost lock last.
Return a baton that wraps NESTED and requests LOCK_ID as additional lock . That means when you create a lock chain start with the last / innermost lock to take out and add the first / outermost lock last .
static with_lock_baton_t *
chain_lock_baton(lock_id_t lock_id,
                 with_lock_baton_t *nested)
{
  apr_pool_t *lock_pool = nested->lock_pool;
  with_lock_baton_t *result = apr_pcalloc(lock_pool, sizeof(*result));
  result->fs = nested->fs;
  result->body = with_lock;
  result->baton = nested;
  result->lock_pool = lock_pool;
  result->is_inner_most_lock = FALSE;
  result->is_outer_most_lock = TRUE;
  nested->is_outer_most_lock = FALSE;
  init_lock_baton(result, lock_id);
  return result;
}
static with_lock_baton_t * chain_lock_baton ( lock_id_t lock_id , with_lock_baton_t * nested ) { apr_pool_t * lock_pool = nested -> lock_pool ; with_lock_baton_t * result = apr_pcalloc ( lock_pool , sizeof ( * result ) ) ; result -> fs = nested -> fs ; result -> body = with_lock ; result -> baton = nested ; result -> lock_pool = lock_pool ; result -> is_inner_most_lock = FALSE ; result -> is_outer_most_lock = TRUE ; nested -> is_outer_most_lock = FALSE ; init_lock_baton ( result , lock_id ) ; return result ; }
Return a baton that wraps NESTED and requests LOCK_ID as additional lock.
Return a baton that wraps NESTED and requests LOCK_ID as additional lock .
/* Use the same pool for batons along the lock chain. */ /* All locks along the chain operate on the same FS. */ /* Execution of this baton means acquiring the nested lock and its
     execution. */ /* Shared among all locks along the chain. */ /* We are the new outermost lock but surely not the innermost lock. */ /* Select mutex and lock file path depending on LOCK_ID.
     Also, initialize dependent members (IS_GLOBAL_LOCK only, ATM). */