-
Davis King authored
the old win32 functions. I did this to work around how windows unloads dlls. In particular, during dll unload windows will kill all threads, THEN it will destruct global objects. So this leads to problems where a global obejct that owns threads tries to tell them to shutdown and everything goes wrong. The specific problem this code change fixes is when signaler::broadcast() is called on a signaler that was being waited on by one of these abruptly killed threads. In that case, the old code would deadlock inside signaler::broadcast(). This new code doesn't seem to have that problem, thereby mitigating the windows dll unload behavior in some situations.
0ff862ae
Name |
Last commit
|
Last update |
---|---|---|
dlib | ||
docs | ||
examples | ||
python_examples | ||
tools | ||
.gitignore | ||
.hgignore | ||
.hgtags | ||
.travis.yml | ||
CMakeLists.txt | ||
ISSUE_TEMPLATE.md | ||
MANIFEST.in | ||
README.md | ||
appveyor.yml | ||
setup.py |