Commit ced843f4 by Edward Thomson

Merge pull request #2559 from libgit2/cmn/free-tls-error

global: free the error message when exiting a thread
parents cb4a956b fdea219a
...@@ -223,6 +223,9 @@ int init_error = 0; ...@@ -223,6 +223,9 @@ int init_error = 0;
static void cb__free_status(void *st) static void cb__free_status(void *st)
{ {
git_global_st *state = (git_global_st *) st;
git__free(state->error_t.message);
git__free(st); git__free(st);
} }
......
#include "clar_libgit2.h" #include "clar_libgit2.h"
#include "thread_helpers.h"
#include "cache.h" #include "cache.h"
...@@ -34,3 +35,16 @@ void test_threads_basic__multiple_init(void) ...@@ -34,3 +35,16 @@ void test_threads_basic__multiple_init(void)
cl_git_pass(git_repository_open(&nested_repo, cl_fixture("testrepo.git"))); cl_git_pass(git_repository_open(&nested_repo, cl_fixture("testrepo.git")));
git_repository_free(nested_repo); git_repository_free(nested_repo);
} }
static void *set_error(void *dummy)
{
giterr_set(GITERR_INVALID, "oh no, something happened!\n");
return dummy;
}
/* Set errors so we can check that we free it */
void test_threads_basic__set_error(void)
{
run_in_parallel(1, 4, set_error, NULL, NULL);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment