Ref: 17310010
Title: Deadlocks Using Paradox Database LAN Versions 2 and 3
date: 3/7/90

Copyright 3Com Corporation, 1991.  All rights reserved.

Borland has identified certain circumstances which cause users to
be locked out of a database file:  multiuser database access can
result in a resource deadlock, caused by the record-locking mechanism
used by Paradox.  Once the locks are released, normal operation can
resume.  This can occur in any 3Com 3+ or 3+Open network environment.

Every Paradox data file has another file associated with it that is used
to lock the records within the file.  The lock file is named FILENAME.LCK,
where FILENAME is the name of the database file.  The FILENAME.LCK file
allows one Paradox user to have exclusive access to write to a record in the
database file.  (Unlocked records are available for use by other users, who
are notified which records are locked and who has locked them.)

If a user attempts to lock a record, the lock file is opened, the lock is
noted and then the file is closed.  However, if more than one user is editing
a data base at one time, the lock file may become inaccessible, due to a
resource deadlock.  One user will not release a resource until another
unavailable resource is released.  Evenutally, all users contending for the
deadlocked resource receive no response from the application and their
workstations are frozen.

A Paradox network user cannot release database resources allocated by the
lock files as a result of a catastrophic interruption of network operations.
The lock files in question are located in the shared data directory or in
the user's private directory.  Once these are deleted and the server has
been shut down and rebooted, the database can be accessed successfully by
users.  Refer to Borland for further information regarding the implementation
of Paradox database operation in a multiuser environment.

