]> git.proxmox.com Git - libgit2.git/commit
global: reset global state on shutdown without threading
authorPatrick Steinhardt <ps@pks.im>
Wed, 2 Nov 2016 07:49:24 +0000 (08:49 +0100)
committerPatrick Steinhardt <ps@pks.im>
Wed, 2 Nov 2016 07:53:52 +0000 (08:53 +0100)
commit038f0e1b4cf6333d9835776b72e6bf8fe4975de5
tree3077a5df22a329583157d6516891f88433c2c882
parent59c6c2860a573521a96a402f8232127ceb27b0f6
global: reset global state on shutdown without threading

When threading is not enabled for libgit2, we keep global state
in a simple static variable. When libgit2 is shut down, we clean
up the global state by freeing the global state's dynamically
allocated memory. When libgit2 is built with threading, we
additionally free the thread-local storage and thus completely
remove the global state. In a non-threaded build, though, we
simply leave the global state as-is, which may result in an error
upon reinitializing libgit2.

Fix the issue by zeroing out the variable on a shutdown, thus
returning it to its initial state.
src/global.c