Various command tails can be supplied to the database manager (SRVx/DP4SRVR), that alter the behaviour of the system in the event of a network failure:
| Error Mode | Command Tail | Behaviour in event of network failure |
|---|---|---|
| 0 | (None) | An application will receive a network error (sys_fail(7)) if a network error occurs when it is running. This will usually cause it to terminate. |
| 0 | −nodisable |
An Application will still run if the network manager has terminated when it starts up; it will then access the local database exclusively. The application will still terminate if the server terminates once it has got started. |
| 1 | −nocrash |
A network error will not cause the application to terminate; instead it will switch to accessing the local database exclusively. Any transaction in progress at the time will receive a commit failure. If the read-only database manager (MS-DOS only) is in use on the local machine, the application can continue to post to the remote tables but will continue to receive a commit failure for every transaction. |
| 2 | −nofail |
A network error will not cause the application to terminate; instead it will switch to accessing the local database exclusively. A transaction in progress at the time will be posted entirely to the local database. In this mode, parent and orphan checking are done on the local database as well as on the remote database, because it is not known during the checking phase of a commit whether the data will finally be posted to the remote or the local machine. If the read-only database manager (MS-DOS only) is in use on the local machine, this mode of operation reverts to being the same as the NOCRASH mode. |
There is no means of distinguishing the -nodisable mode from the default option. This does not matter, because in the only situation where they differ the program will not be running yet, and will either run or not run according to whether -nodisable is set or not set.