diff options
author | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2002-11-25 05:06:31 +0000 |
---|---|---|
committer | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2002-11-25 05:06:31 +0000 |
commit | e03f60f74126bdc791a517dd4be3784f7ba123c4 (patch) | |
tree | b1cb5f9f325fe1ca38da3591c23a7ab31fc0c6f2 /misc | |
parent | f1a24cb946b343f6bbe84aea815670c40d3223b7 (diff) | |
download | libapr-e03f60f74126bdc791a517dd4be3784f7ba123c4.tar.gz |
As pointed out by Marcel Mann <Marcel.Mann@dbaudio.com>, we were
returning 0xfffffffe (the pseudo-handle) for the current thread.
Stash the real apr_thread_t and recover it for apr_os_thread_current().
We were also missing thread_compare so I dropped that in while I was
at it. The test is simple with the above behavior.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64085 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'misc')
-rw-r--r-- | misc/win32/start.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/misc/win32/start.c b/misc/win32/start.c index e81e87c26..df2ff70fe 100644 --- a/misc/win32/start.c +++ b/misc/win32/start.c @@ -195,6 +195,9 @@ APR_DECLARE(apr_status_t) apr_app_initialize(int *argc, static int initialized = 0; +/* Provide to win32/thread.c */ +extern DWORD tls_apr_thread; + APR_DECLARE(apr_status_t) apr_initialize(void) { apr_pool_t *pool; @@ -213,6 +216,7 @@ APR_DECLARE(apr_status_t) apr_initialize(void) return APR_EEXIST; } + tls_apr_thread = TlsAlloc(); if ((status = apr_pool_initialize()) != APR_SUCCESS) return status; @@ -247,6 +251,8 @@ APR_DECLARE_NONSTD(void) apr_terminate(void) apr_pool_terminate(); WSACleanup(); + + TlsFree(tls_apr_thread); } APR_DECLARE(void) apr_terminate2(void) |