When ctFILBLK() was used to block access to a c-tree file on a Unix system, a client was sometimes able to open the file by specifying the path to the file in a different way than the path was specified in the file block call. For example, if ctFILBLK() was called with the filename ctreeSQL.dbs/test.dat and then the file was opened with the filename ./ctreeSQL.dbs/test.dat, the file open was allowed, even though the file should have been blocked.
When the file was unblocked, if a client had been allowed to open the file, the file unblock detected this unexpected situation and logged these messages to CTSTATUS.FCS:
Fri May 1 10:27:44 2015
- User# 00017 ctFILBLK: Unexpected error during unblock: a user has file open...
Fri May 1 10:27:44 2015
- User# 00017 home/fctech/bin/ace/sql/data/ctreeSQL.dbs/admin_test.dat
Fri May 1 10:27:44 2015
- User# 00017 ctFILBLK: Unexpected error during termuser()...: 24
Fri May 1 10:27:44 2015
- User# 00017 home/fctech/bin/ace/sql/data/ctreeSQL.dbs/admin_test.dat: 24
Logic has been updated to correct for this situation.