# 7.25.2. 全体設定

## 7.25.2.1. 概要

Groongaにはグローバルな設定があります。それらにアクセスするにはAPIを使います。

## 7.25.2.2. リファレンス

int grn_get_lock_timeout(void)

  ロックタイムアウトを返します。

  `grn_ctx` acquires a lock for updating a shared value. If other `grn_ctx` is already updating the same value, `grn_ctx` that try to acquire a lock can't acquires a lock. The `grn_ctx` that can't acquires a lock waits 1 millisecond and try to acquire a lock again. The try is done `timeout` times. If the `grn_ctx` that can't acquires a lock until `timeout` times, the tries are failed.

  デフォルトのロックタイムアウトは `10000000` です。つまりGroongaはロックの失敗をおよそ3時間経過するまで報告しません。(1 * 10000000 [msec] = 10000 [sec] = 166.666... [min] = 2.777... [hour])

  戻り値:

    ロックタイムアウト。

grn_rc grn_set_lock_timeout(int timeout)

  ロックタイムアウトを設定します。

  ロックタイムアウトについては、 `grn_get_lock_timeout()` を参照してください。

  `timeout` にはいくつか特別な値があります。

  > - `0`: Groongaがロックを再度取得しようとしません。一度ロックの取得に失敗した時点でGroongaはその失敗を報告します。

  > - 負数: Groongaはロックを取得できるまでリトライします。

  パラメータ:

    - timeout -- 新しいロックのタイムアウト。

  戻り値:

    `GRN_SUCCESS` 。この関数は失敗しません。