# groonga - オープンソースのカラムストア機能付き全文検索エンジン

- English

# 7.21.2. 全体設定

## 7.21.2.1. 概要

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

## 7.21.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はロックを取得できるまでリトライします。

  パラメタ: | timeuot -- 新しいロックのタイムアウト。
  戻り値: | `GRN_SUCCESS` 。この関数は失敗しません。