• Daniel Veillard's avatar
    Remove risk of lockup in dictionary initialization · 5fe9e9ed
    Daniel Veillard authored
    Reported by Petr Sumbera <petr.sumbera@oracle.com>
    Two threads entering xmlInitializeDict concurently could lead
    to a lockup due to multiple initializations of the lock used.
    To avoid this problem move this to a new private function
    called from xmlOnceInit() and deprecate the old initalizer.
    Since threaded programs must call xmlInitParser() and this
    will lead to dereference of private data and the call to
    xmlOnceInit() guaranteed to be unique this should be safe now.
    5fe9e9ed
threads.c 26.4 KB