The key is in: lInUse := ! lInUse line. This code can be MT safe _only_ if xBase++ executes this whole line as one atomic operation. So far I haven't found any information about such functionality.
I see no sign this expression would be atomic. I'd think if it would be, there would exist some sort of documentation (but at list a list) of the such automatically grouped operations, otherwise it's very difficult to decide for a programmer what to expect. It's even more difficult to test. But of course, I may be wrong. Brgds, Viktor _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour