Control intraprocess file locking behavior



USupported on UNIX


The INTRAFILELOCKS environment variable determines whether intraprocess file locks are enforced.


One of the following values:

0 = Do not enforce intraprocess file locks.

1 = Enforce intraprocess file locks. (default)


As of version 8.3, file locking is enforced among channels within the same process, and “File in use by another user” errors ($ERR_FINUSE) are generated as appropriate. This is the standard behavior on Windows and OpenVMS and avoids potential file problems that could result in loss of data on UNIX. Because UNIX locks are interprocess (unlike Windows and OpenVMS file locks, which are both inter‑ and intraprocess) and don’t block multiple uses on different channels from within the same process, we’ve provided this conventional approach to file locking. File‑locking rules apply to all statements and routines that involve implicit or explicit file sharing (OPEN, COPY, SORT, DELET, RENAM, ISCLR, and ISAMC).

To override the default behavior (and continue executing version 8.1.7 and earlier applications that violate the above sharing rules), you can set INTRAFILELOCKS to 0.


We do not recommend setting INTRAFILELOCKS to 0. It is only supported for backwards compatibility.

On Oracle Solaris, which as of 8.1 supports inter‑ and intraprocess file sharing, INTRAFILELOCKS has no effect.

Setting location

The environment.

Used by

Runtime, xfServer