INTRAFILELOCKS

Control intraprocess file locking behavior

 

 

USupported on UNIX

 

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

Value

One of the following values:

0 = Do not enforce intraprocess file locks.

1 = Enforce intraprocess file locks. (default)

Discussion

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.

Note

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.

Examples

INTRAFILELOCKS=0   ;export INTRAFILELOCKS