• Davis King's avatar
    Changed the windows signaler and mutex code to use the C++11 thread library instead of · 0ff862ae
    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 Loading commit data...
docs Loading commit data...
examples Loading commit data...
python_examples Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.travis.yml Loading commit data...
CMakeLists.txt Loading commit data...
ISSUE_TEMPLATE.md Loading commit data...
MANIFEST.in Loading commit data...
README.md Loading commit data...
appveyor.yml Loading commit data...
setup.py Loading commit data...