mirror of https://github.com/godotengine/godot
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`. |
||
|---|---|---|
| .. | ||
| api | ||
| export | ||
| SCsub | ||
| audio_driver_javascript.cpp | ||
| audio_driver_javascript.h | ||
| detect.py | ||
| dom_keys.inc | ||
| engine.js | ||
| http_client.h.inc | ||
| http_client_javascript.cpp | ||
| http_request.h | ||
| http_request.js | ||
| id_handler.js | ||
| javascript_eval.cpp | ||
| javascript_main.cpp | ||
| logo.png | ||
| os_javascript.cpp | ||
| os_javascript.h | ||
| platform_config.h | ||
| pre.js | ||
| run_icon.png | ||