| 234 | |
| 235 | /// |
| 236 | ~SaveGame() |
| 237 | { |
| 238 | CE_ENSURE(s_save_game == this); |
| 239 | |
| 240 | _mutex.lock(); |
| 241 | _exit.store(true); |
| 242 | _requests_condition.signal(); |
| 243 | _mutex.unlock(); |
| 244 | _thread.stop(); |
| 245 | |
| 246 | for (u32 ii = 0; ii < countof(_requests); ++ii) { |
| 247 | Request &rr = _requests[ii]; |
| 248 | _allocator->deallocate(rr.data); |
| 249 | rr.data = NULL; |
| 250 | rr.size = 0; |
| 251 | } |
| 252 | } |
| 253 | |
| 254 | /// |
| 255 | SaveGame(const SaveGame &) = delete; |