Bläddra i källkod

mutex on disconnect (#413)

SecurityAndStuff 2 år sedan
förälder
incheckning
a0e150791b
1 ändrade filer med 9 tillägg och 1 borttagningar
  1. 9 1
      gramjs/network/MTProtoSender.ts

+ 9 - 1
gramjs/network/MTProtoSender.ts

@@ -277,7 +277,15 @@ export class MTProtoSender {
      * all pending requests, and closes the send and receive loops.
      */
     async disconnect() {
-        await this._disconnect();
+        const release = await this._connectMutex.acquire();
+        try {
+            await this._disconnect();
+        } catch (e: any) {
+            this._log.error(e);
+        }
+        finally {
+            release();
+        }
     }
 
     /**