threads.c


Log

Author Commit Date CI Message
Nick Wellnhofer 9c2c87b5 2023-12-24T15:33:12 dict: Move local RNG state to global state Don't use TLS variables directly.
Nick Wellnhofer c9a46a91 2023-12-20T20:11:09 io: Rework initialization
Nick Wellnhofer b2dbcc43 2023-12-19T13:33:59 io: Rework default callbacks Register a dummy callback struct for default callbacks. Handle them in a separate function which will later allow to return meaningful error codes.
Nick Wellnhofer ecb4c9fb 2023-12-18T21:32:49 misc: Improve error handling Remove calls to generic error handler or use stderr for - legacy deprecation warnings - nanohttp, nanoftp in standalone mode - memory debug messages Use xmlRaiseMemoryError. Remove TODO macro. Don't raise errors in xmlmodule.c.
Mike Dalessio 1ac88300 2023-11-18T12:21:38 fix: pthread weak references in globals.c Linking executables will fail on systems with glibc < 2.34 without declaring these symbols as weak references. In commit c19771c1f13de9196f98260d142d8c8672eb5733 these references were moved to globals.c from threads.c, but the `#pragma weak` declarations were lost in the process. Also removing unneeded weak declarations from threads.c.
Nick Wellnhofer 253f260b 2023-10-18T20:06:35 threads: Fix --with-thread-alloc Fixes #606.
Nick Wellnhofer 1425d8f6 2023-09-16T19:08:10 dict: Separate RNG code
Nick Wellnhofer b8961a75 2023-09-27T17:22:17 parser: Fix reinitialization
Nick Wellnhofer ecbd634c 2023-09-19T17:21:30 threads: Fix double-checked locking in xmlInitParser Hopefully work around the classic problem with double-checked locking: Another thread could read xmlParserInitialized == 1 but doesn't see other initialization results yet due to compiler or hardware reordering. While unlikely, this seems theoretically possible. The solution is to add a memory barrier after initializing the data but before setting xmlParserInitialized. It might be enough to use a second initialization flag which is only used inside the locked section and update xmlParserInitialized after unlocking. But I haven't seen this approach in many articles discussing this issue, so it's possibly flawed as well.
Nick Wellnhofer f7a403c2 2023-09-19T13:52:53 globals: Move xmlIsMainThread to globals.c xmlIsMainThread is mainly needed for global variables.
Nick Wellnhofer a07ec7c1 2023-09-18T17:39:13 threads: Move library initialization code to threads.c This allows to consolidate the initialization code since the global init lock was already implemented in threads.c.
Nick Wellnhofer 4e1c13eb 2023-09-18T14:45:10 debug: Remove debugging code This is barely useful these days and only clutters the code base.
Nick Wellnhofer c19771c1 2023-09-18T00:54:39 globals: Move code from threads.c to globals.c Move all code that handles globals to the place where it belongs.
Nick Wellnhofer 2a4b8114 2023-09-17T23:16:49 globals: Rename members of xmlGlobalState This is a deliberate first step to remove some internals from the public API and to avoid issues when redefining tokens.
Nick Wellnhofer d6882f64 2023-05-03T18:33:20 threads: Fix startup crash with weak symbol hack Fix another issue when running with older libc, threads and libpthread not linked in.
Nick Wellnhofer 359313c1 2023-02-23T14:26:32 threads: Really fix crash with weak pthread symbols Fix more regressions from 7010d877 and 71931233. Fixes #488.
Nick Wellnhofer 7bd77873 2023-02-20T10:56:03 threads: Fix crash with weak pthread symbols Regressed in 7010d877. Should fix #488.
Nick Wellnhofer dd3569ea 2022-12-08T02:43:17 Remove XMLDECL macro from .c files
Nick Wellnhofer 71931233 2022-10-24T21:50:34 threads: Use __libc_single_threaded if available Fixes #427
Nick Wellnhofer c73d464a 2022-11-24T15:00:03 threads: Deprecate some internal functions
Nick Wellnhofer 65d381f3 2022-11-24T20:54:18 threads: Allocate mutexes statically
Nick Wellnhofer 7010d877 2022-11-25T12:06:27 threads: Rework initialization Make init/cleanup functions private. Merge xmlOnceInit into xmlInitThreadsInternal.
Nick Wellnhofer bffc67d1 2022-10-24T20:24:17 threads: Remove check for pthread_equal GCC 12 fixed -Waddress warnings for inline functions, resulting in warnings when comparing pthread_equal with NULL. Simply remove the check and assume that pthread_equal is available if all the other functions are. This code is only enabled on Linux anyway.
Nick Wellnhofer 1e60c768 2022-09-04T01:49:41 Remove HAVE_WIN32_THREADS configuration flag Check for LIBXML_THREAD_ENABLED and _WIN32 instead.
Nick Wellnhofer 13a66378 2022-09-04T01:05:51 Remove BeOS support Haiku shouldn't be affected.
Nick Wellnhofer 38290ec1 2022-09-04T00:49:36 Rework dlopen and pthread detection Migrate to AC_SEARCH_LIBS. Remove check for ancient GCC 3.3.
Nick Wellnhofer 0f568c0b 2022-08-26T01:22:33 Consolidate private header files Private functions were previously declared - in header files in the root directory - in public headers guarded with IN_LIBXML - in libxml.h - redundantly in source files that used them. Consolidate all private header files in include/private.
Nick Wellnhofer d70e548f 2022-06-15T17:25:03 Fix xmlCleanupThreads on Windows Fix #ifdef logic: - Also free TLS key in static build. - Always reset 'run_once' state.
Nick Wellnhofer 65f8a620 2022-06-14T18:38:12 Fix reinitialization of library on Windows Reset the 'run_once' state in xmlCleanupThreads, so the global variables can be reinitialized later. While it's generally unsafe to call xmlCleanupParser and continue to use the library afterwards, this fix should avoid an outright crash if you do so on Windows. This should help with applications erroneously calling xmlCleanupParser. See #376.
Nick Wellnhofer 83d5a87e 2022-03-18T15:46:30 Revert "Simplify recursive pthread mutex" This reverts commit 5ffe2981b7d0547dd957a61ac6e1e3db829748d1. This reverts commit 4adb7677635b2c8d764767f6b484de1b26217f5d. Recursive mutexes are an XSI extension, so better not rely on them.
Nick Wellnhofer 5ffe2981 2022-03-06T19:26:24 Fix weak pthread symbols after commit 4adb7677 Add missing mutexattr symbols.
Nick Wellnhofer b35c5528 2022-03-06T15:12:08 Use critical sections as mutex on Windows They're more lightweight than ordinary Windows mutexes. Also stop counting recursive locks. This only hides potential locking bugs.
Nick Wellnhofer 4adb7677 2022-03-06T15:06:59 Simplify recursive pthread mutex Use a PTHREAD_MUTEX_RECURSIVE mutex instead of the hand-rolled approach.
Nick Wellnhofer 40483d0c 2022-03-06T13:55:48 Deprecate module init and cleanup functions These functions shouldn't be part of the public API. Most init functions are only thread-safe when called from xmlInitParser. Global variables should only be cleaned up by calling xmlCleanupParser.
Nick Wellnhofer ebb17970 2022-03-04T02:31:59 Remove unneeded #includes
Nick Wellnhofer 776d15d3 2022-03-02T00:29:17 Don't check for standard C89 headers Don't check for - ctype.h - errno.h - float.h - limits.h - math.h - signal.h - stdarg.h - stdlib.h - string.h - time.h Stop including non-standard headers - malloc.h - strings.h
Nick Wellnhofer 346c3a93 2022-02-20T18:46:42 Remove elfgcchack.h The same optimization can be enabled with -fno-semantic-interposition since GCC 5. clang has always used this option by default.
Kevin Puetz 453bdfb9 2020-01-13T18:28:34 Fix potentially-uninitialized critical section in Win32 DLL builds If non-parser parts of libxml (e.g. xmlwriter) are used before a parser, xmlOnceInit may have run (e.g. via the many paths to xmlGetGlobalState), but not xmlInitThreads (which is called only by xmlInitParser) Once globalkey != TLS_OUT_OF_INDEXES (which can happen in many ways), DLLMAIN(DLL_THREAD_DETACH) may attempt to lock cleanup_helpers_cs before it is valid. This may happen even if the thread whose exit is triggering DllMain is from code which is not linked to libxml. globalkey and cleanup_helpers_cs should be initialized together, with cleanup_helpers_cs initialized first and deleted last.
Jared Yanovich 2a350ee9 2019-09-30T17:04:54 Large batch of typo fixes Closes #109.
Nick Wellnhofer 2677fbf4 2017-11-27T14:20:31 Fix -Wtautological-pointer-compare warnings Skip tautological pointer comparisons on pthread systems where we don't use the weak symbols hack.
J. Peter Mugaas f05af837 2017-10-21T14:09:16 Add declaration for DllMain Fixes a compiler warning.
J. Peter Mugaas 882a165a 2017-10-21T14:04:20 Fix preprocessor conditional in threads.h Make sure that the preprocessor conditions and types for xmlDllMain match exactly in threads.h and threads.c.
Nick Wellnhofer 6472dfe3 2017-10-09T16:50:57 Fix a couple of warnings in dict.c and threads.c Only visible on Windows.
Nick Wellnhofer e3890546 2017-10-09T00:20:01 Fix the Windows header mess Don't include windows.h and wsockcompat.h from config.h but only when needed. Don't define _WINSOCKAPI_ manually. This was apparently done to stop windows.h from including winsock.h which is a problem if winsock2.h wasn't included first. But on MinGW, this causes compiler warnings. Define WIN32_LEAN_AND_MEAN instead which has the same effect. Always use the compiler-defined _WIN32 macro instead of WIN32.
Nick Wellnhofer 2cdaaab1 2017-09-14T21:30:51 Change preprocessor OS tests to __linux__ "linux" without leading underscores is deprecated and less reliable.
Nick Wellnhofer 1f09aea2 2017-06-17T15:05:34 Fix compiler warnings in threads.c Use '#pragma weak' to declare weak functions.
Steve Nairn 620a7061 2015-03-03T19:40:06 Fix the fix to Windows locking For https://bugzilla.gnome.org/show_bug.cgi?id=737851 Unfortunately this change has introduced a problem which results in occasional hangs on Windows when running multi-threaded on a multi-core host. When locking the xmlRMutex the count field is increment inside the critical section but when unlocking the count field is decremented outside the critical section. The increment/decrement is not atomic so this can result in the count field being updated incorrectly. The solution is to change xmlRMutexUnlock to decrement the count field before leaving the critical section rather than after.
Michael Heimpold fff8a6b8 2014-12-22T11:12:12 threads: use forward declarations only for glibc Fixes bug #704908 The declarations of pthread functions, used to generate weak references to them, fail to suppress macros. Thus, if any pthread function has been provided as a macro, compiling threads.c will fail. This breaks on musl libc, which defines pthread_equal as a macro (in addition to providing the function, as required). Prevent the declarations for e.g. musl libc by refining the condition. The idea for this solution was borrowed from the alpine linux guys, see http://git.alpinelinux.org/cgit/aports/tree/main/libxml2/libxml2-pthread.patch Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Daniel Veillard 8854e463 2014-10-13T15:03:58 Windows Critical sections not released correctly For https://bugzilla.gnome.org/show_bug.cgi?id=737851 Based on report from mike.vanduzee@caris.com , we were missing calling LeaveCriticalSection() when count was down to 0 hence not freeing adequately the related resource.
Daniel Veillard 5fe9e9ed 2013-04-05T23:10:41 Remove risk of lockup in dictionary initialization 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.
Daniel Veillard 7457c67f 2012-10-11T12:25:51 Remove potential calls to exit()
Friedrich Haubensak 3f6cfbd1 2012-09-12T17:34:53 Fix a thread portability problem cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10 I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in a structure assignment anyway
Daniel Veillard 7a2215db 2012-09-04T12:05:17 Fix reuse of xmlInitParser While xmlCleanupParser() should not be used unless complete control is insured over the programe making sure libxml2 is not in use anywhere It should still be usable, and allow a sequence of xmlInitParser(); xmlCleanupParser(); calls if needed, the problem is that the thread key wasn't reallocated on subsequent xmlinitParser() calls leading to corruption of pthread keys used by the program. * threads.c: make sure xmlCleanupParser() reset the pthread_once() global variable driving thread key allocation.
Daniel Richard G 5706b6d8 2012-08-06T11:32:54 Various "make distcheck" and portability fixups Makefile.am: * Don't use @VAR@, use $(VAR). Autoconf's AC_SUBST provides us the Make variable, it allows overriding the value at the command line, and (notably) it avoids a Make parse error in the libxml2_la_LDFLAGS assignment when @MODULE_PLATFORM_LIBS@ is empty * Changed how the THREADS_W32 mechanism switches the build between testThreads.c and testThreadsWin32.c as appropriate; using AM_CONDITIONAL allows this to work cleanly and plays well with dependencies * testapi.c should be specified as BUILT_SOURCES * Create symlinks to the test/ and result/ subdirs so that the runtests target is usable in out-of-source-tree builds * Don't do MAKEFLAGS+=--silent as this is not portable to non-GNU Makes * Fixed incorrect find(1) syntax in the "cleanup" rule, and doing "rm -f" instead of just "rm" is good form * (DIST)CLEANFILES needed a bit more coverage to allow "make distcheck" to pass configure.in: * Need AC_PROG_LN_S to create test/ and result/ symlinks in Makefile.am * AC_LIBTOOL_WIN32_DLL and AM_PROG_LIBTOOL are obsolete; these have been superceded by LT_INIT * Don't rebuild docs by default, as this requires GNU Make (as implemented) * Check for uint32_t as some platforms don't provide it * Check for some more functions, and undefine HAVE_MMAP if we don't also HAVE_MUNMAP (one system I tested on actually needed this) * Changed THREADS_W32 from a filename insert into an Automake conditional * The "Copyright" file will not be in the current directory if builddir != srcdir doc/Makefile.am: * EXTRA_DIST cannot use wildcards when they refer to generated files; this breaks dependencies. What I did was define EXTRA_DIST_wc, which uses GNU Make $(wildcard) directives to build up a list of files, and EXTRA_DIST, as a literal expansion of EXTRA_DIST_wc. I also added a new rule, "check-extra-dist", to simplify checking that the two variables are equivalent. (Note that this works only when builddir == srcdir) (I can implement this differently if desired; this is just one way of doing it) * Don't define an "all" target; this steps on Automake's toes * Fixed up the "libxml2-api.xml ..." rule by using $(wildcard) for dependencies (as Make doesn't process the wildcards otherwise) and qualifying appropriate files with $(srcdir) (Note that $(srcdir) is not needed in the dependencies, thanks to VPATH, which we can count on as this is GNU-Make-only code anyway) doc/devhelp/Makefile.am: * Qualified appropriate files with $(srcdir) * Added an "uninstall-local" rule so that "make distcheck" passes doc/examples/Makefile.am: * Rather than use a wildcard that doesn't work, use a substitution that most Make programs can handle doc/examples/index.py: * Do the same here include/libxml/nanoftp.h: * Some platforms (e.g. MSVC 6) already #define INVALID_SOCKET: user@host:/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/\ Include$ grep -R INVALID_SOCKET . ./WINSOCK.H:#define INVALID_SOCKET (SOCKET)(~0) ./WINSOCK2.H:#define INVALID_SOCKET (SOCKET)(~0) include/libxml/xmlversion.h.in: * Support ancient GCCs (I was actually able to build the library with 2.5 but for this bit) python/Makefile.am: * Expanded CLEANFILES to allow "make distcheck" to pass python/tests/Makefile.am: * Define CLEANFILES instead of a "clean" rule, and added tmp.xml to allow "make distcheck" to pass testRelax.c: * Use HAVE_MMAP instead of the less explicit HAVE_SYS_MMAN_H (as some systems have the header but not the function) testSchemas.c: * Use HAVE_MMAP instead of the less explicit HAVE_SYS_MMAN_H testapi.c: * Don't use putenv() if it's not available threads.c: * This fixes the following build error on Solaris 8: libtool: compile: cc -DHAVE_CONFIG_H -I. -I./include -I./include \ -D_REENTRANT -D__EXTENSIONS__ -D_REENTRANT -Dsparc -Xa -mt -v \ -xarch=v9 -xcrossfile -xO5 -c threads.c -KPIC -DPIC -o threads.o "threads.c", line 442: controlling expressions must have scalar type "threads.c", line 512: controlling expressions must have scalar type cc: acomp failed for threads.c *** Error code 1 trio.c: * Define isascii() if the system doesn't provide it trio.h: * The trio library's HAVE_CONFIG_H header is not the same as LibXML2's HAVE_CONFIG_H header; this change is needed to avoid a double-inclusion win32/configure.js: * Added support for the LZMA compression option win32/Makefile.{bcb,mingw,msvc}: * Added appropriate bits to support WITH_LZMA=1 * Install the header files under $(INCPREFIX)\libxml2\libxml instead of $(INCPREFIX)\libxml, to mirror the install location on Unix+Autotools xml2-config.in: * @MODULE_PLATFORM_LIBS@ (usually "-ldl") needs to be in there in order for `xml2-config --libs` to provide a complete set of dependencies xmllint.c: * Use HAVE_MMAP instead of the less-explicit HAVE_SYS_MMAN_H
Mike Hommey e6f05099 2010-10-15T19:50:03 Fix a potential segfault due to weak symbols on pthreads In xmlInitParser, both __xmlGlobalInitMutexLock and xmlInitGlobals are called before xmlInitThreads, and both use pthread symbols. __xmlGlobalInitMutexLock does so directly, without checking if the symbol exists, and xmlInitGlobals calls xmlNewMutex, which correctly depends on libxml_is_threaded... except libxml_is_threaded is still -1 by then... And again, when releasing the global mutex in __xmlGlobalInitMutexUnlock, the pthread function is called directly. The patch changes the initialization order and make sure the functions are available before calling them
Eric Zurcher 243b034d 2009-10-01T00:13:07 Minor patch for conditional defines in threads.c Portability problem with CodeGear ("Borland") compiler 2007 on Windows * threads.c: use 'defined' after #elif
Daniel Veillard d87c5d1c 2009-09-10T17:46:07 593857 try to work around thread pbm MinGW 4.4 * threads.c: try to cope with HAVE_PTHREAD_H and HAVE_WIN32_THREADS being both defined and pthread_t being a non integer
Daniel Veillard 7dd7080a 2009-06-04T11:08:39 * parser.c threads.c: change the threading initialization sequence as suggested by Igor Novoseltsev to avoid crash if xmlInitParser() is called from a thread which is not the main one, should fix #584605 daniel
Daniel Veillard 01101204 2009-02-21T09:22:04 more warnings about xmlCleanupThreads and xmlCleanupParser to avoid * threads.c parser.c: more warnings about xmlCleanupThreads and xmlCleanupParser to avoid troubles like #571409 daniel svn path=/trunk/; revision=3818
Daniel Veillard f63085de 2009-01-18T20:53:59 port patch from Marcus Meissner to add gcc checking for printf like * include/libxml/parser.h include/libxml/xmlwriter.h include/libxml/relaxng.h include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h.in include/libxml/valid.h include/libxml/xmlschemas.h include/libxml/xmlerror.h: port patch from Marcus Meissner to add gcc checking for printf like functions parameters, should fix #65068 * doc/apibuild.py doc/*: modified the script accordingly and regenerated * xpath.c xmlmemory.c threads.c: fix a few warnings Daniel svn path=/trunk/; revision=3813
Daniel Veillard d4a3f241 2009-01-18T15:41:30 also remove pthread key when stopping thread support, patch based on Alex * threads.c: also remove pthread key when stopping thread support, patch based on Alex Ott one should fix #564723 daniel svn path=/trunk/; revision=3810
Daniel Veillard bf2ebff0 2009-01-18T14:57:04 patch from Daniel Zimmermann fixing a memory leak in an edge case, solves * threads.c: patch from Daniel Zimmermann fixing a memory leak in an edge case, solves #562230 Daniel svn path=/trunk/; revision=3809
Daniel Veillard 2cba4158 2008-08-27T11:45:41 fix a small initialization problem raised by Ashwin increase testing * threads.c: fix a small initialization problem raised by Ashwin * testapi.c gentest.py: increase testing especially for document with an internal subset, and entities * tree.c: fix a deallocation issue when unlinking entities from a document. * valid.c: fix a missing entry point test not found previously. * doc/*: regenerated the APIs, docs etc. daniel svn path=/trunk/; revision=3778
Daniel Veillard dee23485 2008-04-11T12:58:43 added new function xmlSchemaValidCtxtGetParserCtxt based on Holger * include/libxml/xmlschemas.h xmlschemas.c: added new function xmlSchemaValidCtxtGetParserCtxt based on Holger Kaelberer patch * doc/apibuild.py doc/*: regenerated the doc, chased why the new function didn't got any documentation, added more checking in the generator * include/libxml/relaxng.h include/libxml/schematron.h include/libxml/xmlschemas.h include/libxml/c14n.h include/libxml/xmlregexp.h include/libxml/globals.h include/libxml/xmlreader.h threads.c xmlschemas.c: various changes and cleanups following the new reports Daniel svn path=/trunk/; revision=3738
Daniel Veillard 14d465de 2008-03-24T11:12:55 check some allocation with Ashwin patch Daniel * threads.c: check some allocation with Ashwin patch Daniel svn path=/trunk/; revision=3711
Daniel Veillard ddbe38b4 2008-03-18T08:24:25 check some malloc returns with Ashwin patch, add error messages and * threads.c: check some malloc returns with Ashwin patch, add error messages and reindent the module. Daniel svn path=/trunk/; revision=3709
Daniel Veillard 5fce6d68 2007-11-23T10:46:55 remove unused variable in __xmlGlobalInitMutexLock reported by Hannes Eder * threads.c: remove unused variable in __xmlGlobalInitMutexLock reported by Hannes Eder Daniel svn path=/trunk/; revision=3666
Rob Richards 91eb560c 2007-11-16T10:54:59 __xmlGlobalInitMutexDestroy() will free global_init_lock on Win32. Patch * globals.c threads.c include/libxml/threads.h: __xmlGlobalInitMutexDestroy() will free global_init_lock on Win32. Patch from Marc-Antoine Ruel. svn path=/trunk/; revision=3664
Rob Richards e967f0bd 2007-06-08T19:36:04 *use specified calling convention for xmlDllMain. Old SDKs (VC6) only support InterlockedCompareExchange. add xmlDllMain to header for win32 when building for static dll svn path=/trunk/; revision=3624
Daniel Veillard fde5b0b9 2007-02-12T17:31:53 small cleanup to avoid packaging .svn applied patch to avoid a problem in * Makefile.am: small cleanup to avoid packaging .svn * libxml.h threads.c parser.c: applied patch to avoid a problem in concurrent threaded initialization fix from Ted Phelps Daniel svn path=/trunk/; revision=3582
Daniel Veillard a8b5413a 2006-06-29T11:50:18 patch from Andrew W. Nosenko, xmlFreeRMutex forgot to destroy the * threads.c: patch from Andrew W. Nosenko, xmlFreeRMutex forgot to destroy the condition associated to the mutex. Daniel
Daniel Veillard 0bcc7f6a 2005-09-04T21:39:03 updated the docs and rebuild releasing 2.6.21 removed * NEWS elfgcchack.h testapi.c doc/*: updated the docs and rebuild releasing 2.6.21 * include/libxml/threads.h threads.c: removed xmlIsThreadsEnabled() * threads.c include/libxml/threads.h xmllint.c: added the more generic xmlHasFeature() as suggested by Bjorn Reese, xmllint uses it. Daniel
Daniel Veillard 2e7598cb 2005-09-02T12:28:34 avoid passing a char[] as snprintf first argument. implemented * encoding.c parserInternals.c: avoid passing a char[] as snprintf first argument. * threads.c include/libxml/threads.h: implemented xmlIsThreadsEnabled() based on Andrew W. Nosenko idea. * doc/* elfgcchack.h: regenerated the API Daniel
Daniel Veillard ffa3c749 2005-07-21T13:24:09 applied a patch from Marcus Boerger to fix problems with calling * error.c globals.c parser.c runtest.c testHTML.c testSAX.c threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h include/libxml/valid.h include/libxml/xmlIO.h include/libxml/xmlerror.h include/libxml/xmlexports.h include/libxml/xmlschemas.h: applied a patch from Marcus Boerger to fix problems with calling conventions on Windows this should fix #309757 Daniel
Daniel Veillard dbfe05af 2005-05-04T09:18:00 on linux/gcc use weak definitions to avoid linking with pthread library on * Makefile.am configure.in threads.c: on linux/gcc use weak definitions to avoid linking with pthread library on non-threaded environments. * xpath.c: applied patch from Mark Vakoc w.r.t. a buggy namespace list allocation. Daniel
Daniel Veillard 5d4644ef 2005-04-01T13:11:58 revamped the elfgcchack.h format to cope with gcc4 change of aliasing * doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h format to cope with gcc4 change of aliasing allowed scopes, had to add extra informations to doc/libxml2-api.xml to separate the header from the c module source. * *.c: updated all c library files to add a #define bottom_xxx and reimport elfgcchack.h thereafter, and a bit of cleanups. * doc//* testapi.c: regenerated when rebuilding the API Daniel
Daniel Veillard 36616dd2 2005-02-25T07:31:49 new version with fixes from Rob Richards Daniel * threads.c: new version with fixes from Rob Richards Daniel
Daniel Veillard 62121e2b 2005-02-24T15:38:52 applied patch from Rich Salz for multithreading on Windows. Daniel * threads.c: applied patch from Rich Salz for multithreading on Windows. Daniel
Daniel Veillard 01c3bd53 2004-10-22T13:16:10 fixed nasty bug #156087 Daniel * threads.c: fixed nasty bug #156087 Daniel
Daniel Veillard 8399ff33 2004-09-22T21:57:53 couple of memory fixes from Mark Vakoc reported by Purify on Windows. * threads.c uri.c: couple of memory fixes from Mark Vakoc reported by Purify on Windows. Daniel
William M. Brack b1d53165 2003-11-18T06:54:40 minor enhancement to prevent comment with unreferenced variable. edited * genChRanges.py, chvalid.c, include/libxml/chvalid.h: minor enhancement to prevent comment with unreferenced variable. * threads.c xmlreader.c xmlwriter.c: edited some comments to improve auto-generation of documentation * apibuild.py: minor change to an error message
Daniel Veillard 254b1260 2003-11-01T17:04:58 second BeOS patch from Marcin 'Shard' Konicki Daniel * tree.c nanohttp.c threads.c: second BeOS patch from Marcin 'Shard' Konicki Daniel
Daniel Veillard 82cb3199 2003-10-29T13:39:15 applied patch from Marcin 'Shard' Konicki to provide BeOS thread support. * nanoftp.c nanohttp.c testThreads.c threads.c: applied patch from Marcin 'Shard' Konicki to provide BeOS thread support. Daniel
Daniel Veillard c790bf4b 2003-10-11T10:50:10 patch from Mike Hommey applied Windows patch from Jesse Pelton and * configure.in: patch from Mike Hommey * threads.c: applied Windows patch from Jesse Pelton and Stephane Bidoul * parser.c: fix the potentially nasty access to ctxt->serror without checking first that the SAX block is version 2 Daniel
Daniel Veillard d96f6d34 2003-10-07T21:25:12 cleaning up XPath error reporting that time. applied the two patches for * error.c include/libxml/xmlerror.h include/libxml/xpath.h include/libxml/xpathInternals.h xpath.c: cleaning up XPath error reporting that time. * threads.c: applied the two patches for TLS threads on Windows from Jesse Pelton * parser.c: tiny safety patch for xmlStrPrintf() make sure the return is always zero terminated. Should also help detecting passing wrong buffer size easilly. * result/VC/* result/valid/rss.xml.err result/valid/xlink.xml.err: updated the results to follow the errors string generated by last commit. Daniel
Daniel Veillard a9cce9cd 2003-09-29T13:20:24 Okay this is scary but it is just adding a configure option to disable * HTMLtree.c SAX2.c c14n.c catalog.c configure.in debugXML.c encoding.c entities.c nanoftp.c nanohttp.c parser.c relaxng.c testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c xmlcatalog.c xmllint.c xmlmemory.c xmlreader.c xmlschemas.c example/gjobread.c include/libxml/HTMLtree.h include/libxml/c14n.h include/libxml/catalog.h include/libxml/debugXML.h include/libxml/entities.h include/libxml/nanohttp.h include/libxml/relaxng.h include/libxml/tree.h include/libxml/valid.h include/libxml/xmlIO.h include/libxml/xmlschemas.h include/libxml/xmlversion.h.in include/libxml/xpathInternals.h python/libxml.c: Okay this is scary but it is just adding a configure option to disable output, this touches most of the files. Daniel
Daniel Veillard 5f1e1f8a 2003-09-11T23:35:09 backport of a thread bugfix from 2_5_X branch Daniel * threads.c: backport of a thread bugfix from 2_5_X branch Daniel
Daniel Veillard 5805be29 2003-08-28T08:03:23 fixing bug #120870 try to avoid problem with uninitialized mutexes Daniel * globals.c threads.c: fixing bug #120870 try to avoid problem with uninitialized mutexes Daniel
William M. Brack 7a82165d 2003-08-15T07:27:40 Minor changes to comments, etc. for improving documentation generation * encoding.c, threads.c, include/libxml/HTMLparser.h, doc/libxml2-api.xml: Minor changes to comments, etc. for improving documentation generation * doc/Makefile.am: further adjustment to auto-generation of win32/libxml2.def.src
Daniel Veillard 70bcb0ea 2003-08-08T14:00:28 hum try to avoid some troubles when the library is not initialized and one * HTMLtree.c tree.c threads.c: hum try to avoid some troubles when the library is not initialized and one try to save, the locks in threaded env might not been initialized, playing safe * xmlschemastypes.c: apply patch for hexBinary from Charles Bozeman * test/schemas/hexbinary_* result/schemas/hexbinary_*: also added his tests to the regression suite. Daniel
Daniel Veillard df101d83 2003-07-08T14:03:36 fixes some problem when freeing unititialized mutexes Daniel * globals.c threads.c: fixes some problem when freeing unititialized mutexes Daniel
William M. Brack 59002e7b 2003-07-04T17:01:59 Fixed multithreading problem
Igor Zlatkovic d58a42de 2003-05-17T10:55:15 applied patch from Stephane for threads
Daniel Veillard 01c13b5b 2002-12-10T15:19:08 code cleanup, especially the function comments. fixed a small bug when * DOCBparser.c HTMLparser.c c14n.c debugXML.c encoding.c hash.c nanoftp.c nanohttp.c parser.c parserInternals.c testC14N.c testDocbook.c threads.c tree.c valid.c xmlIO.c xmllint.c xmlmemory.c xmlreader.c xmlregexp.c xmlschemas.c xmlschemastypes.c xpath.c: code cleanup, especially the function comments. * tree.c: fixed a small bug when freeing nodes which are XInclude ones. Daniel
William M. Brack 8b2c7f10 2002-11-22T05:07:29 fixed thread problem
Igor Zlatkovic f2160a02 2002-10-31T15:58:42 improvements to the Windows-side of thread handling
Igor Zlatkovic a6f2d906 2002-04-16T17:57:17 *** empty log message ***
Daniel Veillard 34ce8bec 2002-03-18T19:37:11 preparing 2.4.18 updated and rebuilt the web site implement the new * configure.in: preparing 2.4.18 * doc/*: updated and rebuilt the web site * *.c libxml.h: implement the new IN_LIBXML scheme discussed with the Windows and Cygwin maintainers. * parser.c: humm, changed the way the SAX parser work when xmlSubstituteEntitiesDefault(1) is set, it will then do the entity registration and loading by itself in case the user provided SAX getEntity() returns NULL. * testSAX.c: added --noent to test the behaviour. Daniel
Daniel Veillard 0ba59239 2002-02-10T13:20:39 Tentatively fixed #69655 , make compiling with -Wredundant-decls clean. * HTMLtree.c Makefile.am build_glob.py configure.in debugXML.c globals.c parser.c threads.c tree.c valid.c xmlmemory.c xpath.c xpointer.c include/libxml/globals.h include/libxml/parser.h include/libxml/parserInternals.h include/libxml/tree.h include/libxml/xmlmemory.h include/libxml/xpathInternals.h: Tentatively fixed #69655 , make compiling with -Wredundant-decls clean. * python/libxml.c: fixed a warning. Daniel
Daniel Veillard db0eb8df 2002-01-13T13:35:00 applied Serguei Narojnyi's patch to add native thread support on the Win32 * threads.c: applied Serguei Narojnyi's patch to add native thread support on the Win32 platform * testThreadsWin32.c Makefile.am: added the test program also from Serguei, Win32 specific * include/win32config.h include/libxml/xmlwin32version.h.in: added patch from Igor for the Windows thread specific defines. Daniel