Hi,

 

  We are designing an application using your libxml2 (2.6.23). We experienced 
some problems with that version and with the latest one. It seams that in multi 
thread environment some initialization code does not work correctly (it of 
course can be a bad use from us). The fact is that when the globalkey (pthread 
environment) value is 0 (occurs for the first thread) the thread specific 
memory is not set up correctly and then we have a lot of problem (indeed the 
DefaultXmlBufferSize has random values...). With every non-zero value 
everything works good.

  I made a change to fix it in my particulare case but I'm quite sure that this 
is not the good way to fix it. Here is the change I did in thread.c:784 (in red)

 

static void

xmlOnceInit(void) {

#ifdef HAVE_PTHREAD_H

    (void) pthread_key_create(&globalkey, xmlFreeGlobalState);

    if(globalkey==0)

       (void) pthread_key_create(&globalkey, xmlFreeGlobalState);

    mainthread = pthread_self();

#endif

 

#if defined(HAVE_WIN32_THREADS)

    if (!run_once.done) {

        if (InterlockedIncrement(&run_once.control) == 1)

        {

#if !defined(HAVE_COMPILER_TLS)

            globalkey = TlsAlloc();

#endif

....

 

  Could you please inform me if this problem is due to a bad use of your 
library or if you already experienced the same problem ?

 

  Thank you for your help,

 

  Sincerely,

 

Sylvain Lecorné.

This e-mail and any attachments may be confidential and/or legally privileged. 
If you have received this e-mail and you are not a named addressee, please 
inform the Experian Decision Analytics Service Desk on +377 97975353 and then 
delete the e-mail from your system. If you are not a named addressee you must 
not use, disclose, distribute, copy, print or rely on this e-mail. Although 
Experian routinely screens for viruses, addressees should scan this e-mail and 
any attachments for viruses. Experian makes no representation or warranty as to 
the absence of viruses in this e-mail or any attachments. Please note that to 
ensure regulatory compliance and for the protection of its clients and 
business, Experian may monitor and read e-mails sent to and from its servers 
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to