We are running Pervasive 8.7 using Microfocus Cobol and also accessing through VB .net and during one of our Cobol application if the user exits a sales order (which then the application issues the unlock command) and then immediately tries to go back into the same sale, they are receiving a message stating the sale is locked by their own user id. The unlock is issued using btrieve and by calling w3btrv7.dll. After the call is made the btrieve status is checked to see if it was successful. What we are wondering is if there are network issues or "slows" on the system, does w3btrv7.dll retry to access the file or will it "queue" and wait until it can get access, thus not returning an invalid status but also not unlocking the file until it has access? Does anyone know how this dll works and what controls there are on it?
It would appear that it is returning with a zero but the problem is that the application was written to set the status to zero PRIOR to the call so we don't know if the program is moving on without Pervasive really returning a value. The thought is that the call is being made and because of slowness in the system (the application is connecting to a terminal server not directly to the database server) Pervasive is "queing" up the request and the program doesn't truly wait for Pervasive to return a value. Do you know if this is possible? Would Pervasive truly return control to the calling program without receiving a status?