From 2e006867f6afb08ac9d67dc637a8637c966398f4 Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Thu, 18 May 2017 14:35:31 +0200 Subject: [PATCH] Threading fixes --- src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php b/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php index e1cc915d..f5b38715 100644 --- a/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php @@ -39,7 +39,9 @@ trait MsgIdHandler } if (count($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages) > $this->settings['msg_array_limit']['outgoing']) { reset($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages); - unset($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages[key($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages)]); + $key = key($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages); + if ($key[0] === "\0") $key = 'a'.$key; + unset($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages[$key]); } $this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages['a'.strrev($new_message_id->toBytes())] = []; } else { @@ -59,7 +61,9 @@ trait MsgIdHandler if (count($this->datacenter->sockets[$aargs['datacenter']]->incoming_messages) > $this->settings['msg_array_limit']['incoming']) { reset($this->datacenter->sockets[$aargs['datacenter']]->incoming_messages); - unset($this->datacenter->sockets[$aargs['datacenter']]->incoming_messages[key($this->datacenter->sockets[$aargs['datacenter']]->incoming_messages)]); + $key = key($this->datacenter->sockets[$aargs['datacenter']]->incoming_messages); + if ($key[0] === "\0") $key = 'a'.$key; + unset($this->datacenter->sockets[$aargs['datacenter']]->incoming_messages[$key]); } $this->datacenter->sockets[$aargs['datacenter']]->incoming_messages['a'.strrev($new_message_id->toBytes())] = []; }