Hi- No, I am not confident that my file locking code is working. For vxWorks, I needed to alter the .lock functionality, as it wouldn't compile. Pretty much changes such as calling stat() instead of lstat(), etc. However, for this example, I do know that the two threads operate serially (ie, it is never the case that more than one SQL operation will be happening at a time).
I have some more diagnostic information. I'm now showing the database connection and the SQL *about* to be executed. I have tried to trim the output to only show relative data, as well as changing the actual SQL table/column names for privacy. Here is the diagnostic output at the point the counter value was unexpected: -------------------------------- REPEAT TEST 1 ----------------------------- DBC: 10944678 DB Counter: -61 SQL:BEGIN; DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table1 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table2 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table3 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table4 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table5 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table6 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table7 DBC: 10944678 DB Counter: -61 SQL:DELETE FROM Table8 DBC: 10944678 DB Counter: -61 SQL:COMMIT; DBC: 10944678 DB Counter: -68 SQL:INSERT INTO Table4(Col1, Col2, Col3) VALUES (1, 1, 32751) Here is some info around counter value -68 when it got to it during the first test (not during the repeat of the test): ------------------------------- BEGIN TEST 1 ----------------------------- DBC: 10944678 DB Counter: -70 SQL:BEGIN; DBC: 10944678 DB Counter: -70 SQL:UPDATE Table1 SET Col1=1, Col2='Joe' DBC: 10944678 DB Counter: -70 SQL:UPDATE Table2 SET Col1=30, Col2=0 DBC: 10944678 DB Counter: -70 SQL:COMMIT; DBC: 10944678 DB Counter: -69 SQL:SELECT SessionNumber FROM MyTable DBC: 10944678 got sess num = 333000 DBC: 8650883 DB Counter: -69 SQL:SELECT SessionNumber, SessionState FROM MyTable DBC: 8650883 Got session number: 333000 DBC: 8650883 DB Counter: -69 SQL:BEGIN; DBC: 8650883 updating sess info, num = 350000 DBC: 8650883 DB Counter: -69 SQL:UPDATE MyTable SET SessionNumber=?, SessionState=? DBC: 8650883 DB Counter: -69 SQL:UPDATE Table1 SET Col1=?, Col2=?, Col3=? DBC: 8650883 DB Counter: -69 SQL:DELETE FROM Table5 WHERE Id=(SELECT Id FROM Table8 WHERE Col4=?) DBC: 8650883 DB Counter: -69 SQL:SELECT Id FROM Table5 ORDER BY SequenceNumber DESC DBC: 8650883 DB Counter: -69 SQL:COMMIT; DBC: 8650883 DB Counter: -68 SQL:UPDATE Table8 SET Col1=? WHERE Col2=? AND Col3=? DBC: 8650883 DB Counter: -67 SQL:UPDATE Table8 SET Col1=? WHERE Col2=? AND Col3=? If you need the exact SQL statements without trimmed output, just let me know, and I can send it to you privately. Thanks for your help, Mark ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------