Why Does the User List Function Take Forever to Bring Up?
Q - When I go to the Elliott V7.5 Main Menu and choose Util-Setup -> User List, it is so slow that it takes about a full minute before it will display the results. Why does it take this long to display this?
A - This is quite normal. The main reason it is slow is because the User List function is also trying to delete the USER#999.DAT files where 999 can have the value between 001 and 999. As you may know, Elliott V7 controls the user licenses by creating the USER#999.DAT file in the Elliott root directory. As each user runs Elliott V7, the system starts to create USER#001.DAT. If it already exists, then it skips to USER#002.DAT, and so on and so forth until the system finds an empty spot to successfully create the USER#999.DAT file, or until you exceed the number of Elliott user licenses.
The USER#999.DAT file created by each user is locked exclusively by that user. It will be deleted automatically when that user exits out of Elliott. Sometimes, when an Elliott user's session is terminated abnormally, the corresponding USER#999.DAT will be left in the Elliott root directory. This can cause a problem when you start up Elliott and the system tries to determine if you have exceeded the number of Elliott user licenses.
The Elliott User list provides two functions: (1) It gives you a list of Elliott users; and (2) it deletes leftover USER#999.DAT files.
Deleting leftover USER#999.DAT files is very important in order to clear up any extra leftover Elliott user counts due to the abnormal termination described in the above scenario. There is no way for the system to know if each USER#999.DAT in the Elliott root directory is valid or not. So it will start by trying to delete USER#001.DAT first. If the system can't delete it, then that's expected. It simply confirms that someone is in Elliott and locks that file exclusively. If it can successfully delete it, then it means that's a leftover license count file due to the abnormal termination of Elliott. Now we have successfully recovered one Elliott user license. The system then proceeds to try to delete USER#002.DAT and so on and so forth.
In most situations, the attempt to delete each USER#999.DAT file is a slow process. For example, if you go to the command prompt from your Elliott root directory and issue the following command:
M:\Elliott7>DEL USER#001.DAT
it will normally take about one second before the operating system comes back with the fail message due to a file lock. The delay is from the OS and is not in our application's control. If you have 60 users, then the whole process will take about 60 seconds. So the result is that the user list may be slow to come up. But it does show you the true number of Elliott users that are currently using system. In the meantime, it can clear up any potential false user count.
In Elliott V8, we implemented a different method for counting users, so it is a lot faster to bring up a User List in Elliott V8.
Elliott 7.5 User List
Elliott 8.0 User List