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 。この関数は失敗しません。