godot/core/io
Pedro J. Estébanez 18fbdbb456 Reimplement Mutex with C++'s <mutex>
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`.
2020-02-26 20:40:10 +01:00
..
compression.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
compression.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
config_file.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
config_file.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
dtls_server.cpp Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
dtls_server.h Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
file_access_buffered_fa.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
file_access_buffered.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
file_access_buffered.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
file_access_compressed.cpp Fixes crash when resource file is corrupted 2020-02-11 17:29:25 +08:00
file_access_compressed.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
file_access_encrypted.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
file_access_encrypted.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
file_access_memory.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
file_access_memory.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
file_access_network.cpp Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
file_access_network.h Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
file_access_pack.cpp PCK: Set VERSION_PATCH in header, factor out header magic 2020-01-06 13:13:17 +01:00
file_access_pack.h PCK: Set VERSION_PATCH in header, factor out header magic 2020-01-06 13:13:17 +01:00
file_access_zip.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
file_access_zip.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
http_client.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
http_client.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
image_loader.cpp Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
image_loader.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
ip_address.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
ip_address.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
ip.cpp Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
ip.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
json.cpp Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT. 2020-02-25 12:55:53 +01:00
json.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
logger.cpp Improve the console error logging appearance 2020-01-19 00:24:17 +01:00
logger.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
marshalls.cpp Update docs and bindings for new integer vector types 2020-02-25 15:27:29 +01:00
marshalls.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
multiplayer_api.cpp Replace FALLTHROUGH macro by C++17 [[fallthrough]] 2020-02-23 00:52:50 +01:00
multiplayer_api.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
net_socket.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
net_socket.h Add peek option to NetSocket recv_from. 2020-02-16 01:11:30 +01:00
networked_multiplayer_peer.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
networked_multiplayer_peer.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
packet_peer_dtls.cpp Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
packet_peer_dtls.h Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
packet_peer_udp.cpp UDPServer and PacketPeerUDP connect_to_host. 2020-02-16 01:11:30 +01:00
packet_peer_udp.h UDPServer and PacketPeerUDP connect_to_host. 2020-02-16 01:11:30 +01:00
packet_peer.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
packet_peer.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
pck_packer.cpp Fixes leak when pck_start multiple times 2020-01-20 12:16:37 +08:00
pck_packer.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
resource_format_binary.cpp Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT. 2020-02-25 12:55:53 +01:00
resource_format_binary.h Remove more deprecated methods and code 2020-02-13 12:37:45 +01:00
resource_importer.cpp Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
resource_importer.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
resource_loader.cpp Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
resource_loader.h Reimplement Mutex with C++'s <mutex> 2020-02-26 20:40:10 +01:00
resource_saver.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
resource_saver.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
SCsub SCons: Build core's thirdparty code in own environment 2018-09-28 11:40:41 +02:00
stream_peer_ssl.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
stream_peer_ssl.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
stream_peer_tcp.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
stream_peer_tcp.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
stream_peer.cpp PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
stream_peer.h PoolVector is gone, replaced by Vector 2020-02-18 10:10:36 +01:00
tcp_server.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
tcp_server.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
translation_loader_po.cpp Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
translation_loader_po.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
udp_server.cpp Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
udp_server.h Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
xml_parser.cpp Fixes XMLParser leak when open multiple times 2020-01-20 11:29:14 +08:00
xml_parser.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
zip_io.cpp Fixes leak when importing zip in AssetLib 2020-01-22 09:34:18 +08:00
zip_io.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00