mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Log meaningful messages before failing on windows with threadlocal.
This commit is contained in:
@@ -139,14 +139,30 @@ tor_threadlocal_destroy(tor_threadlocal_t *threadlocal)
|
||||
void *
|
||||
tor_threadlocal_get(tor_threadlocal_t *threadlocal)
|
||||
{
|
||||
return TlsGetValue(threadlocal->index);
|
||||
void *value = TlsGetValue(threadlocal->index);
|
||||
if (value == NULL) {
|
||||
DWORD err = GetLastError();
|
||||
if (err != ERROR_SUCCESS) {
|
||||
char *msg = format_win32_error(err);
|
||||
log_err(LD_GENERAL, "Error retrieving thread-local value: %s", msg);
|
||||
tor_free(msg);
|
||||
tor_assert(err == ERROR_SUCCESS);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
void
|
||||
tor_threadlocal_set(tor_threadlocal_t *threadlocal, void *value)
|
||||
{
|
||||
BOOL ok = TlsSetValue(threadlocal->index, value);
|
||||
tor_assert(ok);
|
||||
if (!ok) {
|
||||
DWORD err = GetLastError();
|
||||
char *msg = format_win32_error(err);
|
||||
log_err(LD_GENERAL, "Error adjusting thread-local value: %s", msg);
|
||||
tor_free(msg);
|
||||
tor_assert(ok);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
Reference in New Issue
Block a user