Just a thought - as far as the indexing program goes - the index program has to open the DB for write...AFAIK WinXX doesn't like this situation (a file is opened for writing and another process also attempts to open it). There may be some DB_File specific issues here but I am not positive of the file-locking policies of DB_File. One solution for you is to do a manual file-locking situation. While the DB is open create a temporary .lock file somewhere. Once you close the DB remove the file. While the .lock is present have your other processes sleep for one second and check for it again. This would allow you to setup a manual queue. Using a DB Server would also solve the problem - let the server handle simultaneous requests.
Nethosters, Inc.