On 17/11/06, Geoffrey Winn <[EMAIL PROTECTED]> wrote:
As far as I know, the development of SDO to date has given zero consideration to running in a multithreaded environment. I am a little surprised that they were only able to identify one thread safety issue. The first one that occurs to me is - what happens if two or more threads are using the same data factory and one thread attempts to modify a data object that the other is deleting? Or - one thread adds a property to a type while the other is creating a data object of that type. Etc. Most likely your customer would dismiss these scenarios with something like "oh, we will never do that", however, in general, SDO is not thread safe, and it will take a good deal of effort to make it so. I'm not aware of any major objection to using the thread safe libraries, however I am a little concerned that doing so may give the impression that SDO is thread safe when it absolutely isn't.
I'm not too surprised to get that response. But remember, I didn't ask whether Tuscany SDO C++ would be thread-safe in some unknown and general scenario. We're talking about it running within the context of the PHP engine, where application programmers would not get the opportunity to share data between threads. The risk is that threads might interact accidentally because of static data in the library. So I think the scan does have some validity. -- Caroline