fixed SIGILL in server select

This commit is contained in:
WolverinDEV 2019-07-19 19:42:57 +02:00
parent dd0eaf33e5
commit c710157030
4 changed files with 3 additions and 5 deletions

View File

@ -32,7 +32,6 @@ namespace ts {
ChannelId cached_parent_id = 0; ChannelId cached_parent_id = 0;
}; };
typedef std::shared_lock<std::shared_recursive_mutex> TreeLock;
class ClientChannelView : private TreeView { class ClientChannelView : private TreeView {
public: public:
enum ChannelAction { enum ChannelAction {

View File

@ -38,8 +38,6 @@ namespace ts {
bool ignoresFlood() override; bool ignoresFlood() override;
inline std::shared_ptr<QueryAccount> getQueryAccount() { return this->query_account; } inline std::shared_ptr<QueryAccount> getQueryAccount() { return this->query_account; }
std::shared_recursive_mutex server_lock;
protected: protected:
void preInitialize(); void preInitialize();
void postInitialize(); void postInitialize();

View File

@ -318,7 +318,8 @@ CommandResult QueryClient::handleCommandServerSelect(Command &cmd) {
//register at current server //register at current server
{ {
unique_lock server_lock(this->server_lock); //unique_lock server_lock(this->server_lock);
/* We dont need to lock the server because only one command can be executed at the time. Everything else should copy the server once and test the copy and use that ref then */
this->server = target; this->server = target;
} }

2
shared

@ -1 +1 @@
Subproject commit 6ee207aaadeb9a57a9e1fc4fd19ebeb1be81f1fd Subproject commit 9833dab6e4f96c045da632c208aa1bc977d45349