| 896 | } |
| 897 | |
| 898 | void MTGS::WaitForClose() |
| 899 | { |
| 900 | if (!IsOpen()) |
| 901 | return; |
| 902 | |
| 903 | // ask the thread to stop processing work, by clearing the open flag |
| 904 | s_open_flag.store(false, std::memory_order_release); |
| 905 | |
| 906 | // and kick the thread if it's sleeping |
| 907 | s_sem_event.NotifyOfWork(); |
| 908 | |
| 909 | // and wait for it to finish up.. |
| 910 | s_open_or_close_done.Wait(); |
| 911 | } |
| 912 | |
| 913 | void MTGS::Freeze(FreezeAction mode, MTGS::FreezeData& data) |
| 914 | { |
nothing calls this directly
no test coverage detected