refactor(Core): replace ACE atomic types with standard C++ (#3421)

* Update AuctionHouseHandler.cpp

* refactor(atomic-type): replace ACE atomic types

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Co-authored-by: Kargatum <dowlandtop@yandex.com>
This commit is contained in:
Stefano Borzì
2020-09-08 10:41:01 +02:00
committed by GitHub
parent b93ed8740a
commit 4a9476bbfd
5 changed files with 11 additions and 9 deletions

View File

@@ -48,7 +48,7 @@ int RASocket::handle_close(ACE_HANDLE /*handle*/, ACE_Reactor_Mask /*mask*/)
// While the above wait() will wait for the ::svc() to finish, it will not wait for the async event
// RASocket::commandfinished to be completed. Calling destroy() before the latter function ends
// will lead to using a freed pointer -> crash.
while (_commandExecuting.value())
while (_commandExecuting)
ACE_OS::sleep(1);
destroy();

View File

@@ -17,6 +17,7 @@
#include <ace/Svc_Handler.h>
#include <ace/SOCK_Stream.h>
#include <ace/SOCK_Acceptor.h>
#include <atomic>
/// Remote Administration socket
class RASocket : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
@@ -44,7 +45,7 @@ class RASocket : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
private:
uint8 _minLevel; ///< Minimum security level required to connect
ACE_Atomic_Op<ACE_Thread_Mutex, bool> _commandExecuting;
std::atomic_long _commandExecuting;
};
#endif