CURRENT LOCK TIMEOUT
The CURRENT LOCK TIMEOUT special register controls the number of seconds before a resource timeout is detected. The CURRENT LOCK TIMEOUT special register overrides the IRLMRWT subsystem parameter and applies to a resource timeout that depends on the IRLM timeout interval, IRLMRWT. The special register also applies to certain processes related to locking (like the claim or drain of an object and cached dynamic statement quiescing). However, certain processes are not subject to the special register, including, but no limited to, P-lock processing, or processes related to plan and package allocation.
The data type is INTEGER.
Valid values for the CURRENT LOCK TIMEOUT special register are integers between -1 and 32767, inclusive. A value of -1 specifies that timeouts do not take place, and that the application waits until the lock is released or a deadlock is detected. A value of 0 specifies that the application will not wait for a lock and if a lock cannot be obtained, an error is returned immediately.
The initial value is the current value of the IRLMRWT subsystem parameter. The value of the special register can be changed by invoking the SET CURRENT LOCK TIMEOUT statement. Specify the NULL keyword on a SET CURRENT LOCK TIMEOUT statement to reset the special register to the current value of the IRLMRWT subsystem parameter.
The SPREG_LOCK_TIMEOUT_MAX subsystem parameter controls the value that can be specified in a SET CURRENT LOCK TIMEOUT statement.