Commit Graph
12 Commits
Author SHA1 Message Date
Tobias Brunner 784d96e031 Fixed some typos, courtesy of codespell 2018-09-17 18:51:44 +02:00
Thomas Egerer 8ea4cb3e5d thread: Allow thread ID to be value returned by gettid()
Signed-off-by: Thomas Egerer <[email protected]>
2016-03-04 09:12:11 +01:00
Martin Willi d36b30803e thread: Add a function to pop and call all registered cleanup handlers 2015-04-15 14:38:43 +02:00
Martin Willi 61e29aca0d threading: Support rwlock try_write_lock() on Windows
We explicitly avoided TryAcquireSRWLockExclusive() because of crashes. This
issue was caused by a MinGW-w64 bug (mingw-w64 fix 46f77afc). Using a newer
toolchain works fine.

While try_write_lock() obviously can fail, not supporting it is not really an
option, as some algorithms depend on occasionally successful calls. Certificate
caching in the certificate manager and the cred_set cache rely on successful
try_write_lock()ing.
2014-10-30 10:45:24 +01:00
Tobias Brunner 32a262e7a1 windows: Remove useless assignment in put_thread() 2014-07-02 12:12:05 +02:00
Tobias Brunner e351169900 windows: Fix parameter name in Doxygen comment 2014-06-30 13:16:17 +02:00
Martin Willi 23750961d5 thread-value: Defer cleanup handling to thread termination on Windows
Instead of cleaning up all thread-values during destruction, cleanup handler
is invoked when a thread detaches. Thread detaching is cough using the Windows
DllMain() entry point, and allows us to basically revert 204098a7.

Using this mechanism, we make sure that the cleanup handler is invoked by the
the correct thread. Further, this mechanism works for externally-spawned
threads which run outside of our thread_cb() routine, and works more efficiently
with short-running threads.
2014-06-17 15:19:40 +02:00
Martin Willi cab59c73fc windows: Use WINAPI call convention for Windows API callbacks
For x86_64 it does not actually matter, but for i686 builds the call convention
is different with WINAPI.
2014-06-06 16:28:28 +02:00
Martin Willi 89e46c41f1 windows: Include for Vista instead of defining CondVar/SRWLock functions ourself 2014-06-04 15:53:05 +02:00
Martin Willi 204098a752 thread-value: Immediately cleanup all Windows TLS values on destroy 2014-06-04 15:53:02 +02:00
Martin Willi 9dec601f30 windows: Prevent queueing of multiple thread cancel APCs
This avoids any races during cleanup invocation if multiple cancel() requests
come in.
2014-06-04 15:53:01 +02:00
Martin Willi 0fa9c95811 windows: Provide a complete native Windows threading backend 2014-06-04 15:53:01 +02:00