[xsd-users] CodeSythesis XSD - CXX Tree Multithreading issue
    Boris Kolpackov 
    boris at codesynthesis.com
       
    Mon Mar  5 09:24:21 EST 2012
    
    
  
Hi Tom,
tomislav.reichenbach at valida.at <tomislav.reichenbach at valida.at> writes:
> Introducing a mutex before serialization prevents errors, but I have an 
> usage question, is this supposed to be so ?
> To me this FAQ part is unclear :
> 
> [...]
> 
> Per thread the order of executions is as follows:
> 
> string calculate(string input_xml) {
>         input xml->istringstream->create input objects
>         --- do some suff with objects ---
>         output object->serialize-> output xml
>         return output_xml
> }
>  
> There are no shared (global, static or singleton) objects in the calculate 
> function. 
This should work without the mutex serializing calculate() executions.
A few points to confirm/verify:
1. You said you are calling Xerces-C++ Initialize()/Terminate(). Do you
   also pass dont_initialize flag to the XSD parsing and serialization
   functions?
2. Are you using the latest version of Xerces-C++ (3.1.1)? Is it a default
   build (i.e., using default transcoder, etc)?
3. How do you see that the XML is incomplete? Do you write it to a file?
   Is it possible that not all the data has been flushed yet? Can you
   confirm that the object model is complete (i.e., that it is parsed
   correctly and the problem is in serialization)?
Boris
    
    
More information about the xsd-users
mailing list