Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1.4.1 Summary This is a bug fix release that addresses a race condition that can occur in multi-threaded programs when memory management is enabled. In previous versions of the library memory management was enabled by default. This is no longer the case, and it must be enabled explicitly at configure time. Explanation of bug: The global variables used for caching and reusing allocated structures and the functions that manipulate them do not currently protect critical sections to guarantee atomicity which can lead to failures in multithreaded programs. The current fix is to disable memory management by compiling with the _NO_MEMORY_MANAGEMENT_ directive such that the thread-unsafe code must be enabled explicitly. The unsafe code may be removed in future releases if performance evaluation determines that it is a legacy feature that no longer provides a tangible performance benefit. If it does provide a measurable benefit, a thread-safe fix will be implemented. 1.4.0 Updates updates to build and installation process, pkg-config rename package from sexpr to sfsexp to avoid confusion documentation updates additional UTF-8 tests removal of archaic code that is no longer necessary fix for sexp_to_dotfile looping on empty lists update sexpvis.c to add arguments Pull request changes generate pkgconfig file during configure by @bremner in #5 make _sexp_to_dot static / hidden by @bremner in #4 fix for sexp_to_dotfile looping on empty lists by @bremner in #8 add some simple non-ascii tests by @bremner in #6 remove archive/ by @bremner in #10 Install sfsexp.pc file by @ryoon in #11 Honor LDFLAGS to fix RELRO build, for example by @ryoon in #12 Enhance markdown in README.md by @jpellegrini in #13 Rename sexpr to sfsexp by @mjg in #17 Pkgincludedir by @mjg in #18
- Loading branch information