From 7e08b4e50a7e98acc0d8dd99a10b372ab22401e2 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sun, 24 Jul 2016 18:45:24 -0300 Subject: [PATCH] Dont enter the ratelimit semaphore twice --- src/Discord.Net/Net/Queue/RequestQueueBucket.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net/Net/Queue/RequestQueueBucket.cs b/src/Discord.Net/Net/Queue/RequestQueueBucket.cs index 5521a2967..2ec9a9e02 100644 --- a/src/Discord.Net/Net/Queue/RequestQueueBucket.cs +++ b/src/Discord.Net/Net/Queue/RequestQueueBucket.cs @@ -42,7 +42,7 @@ namespace Discord.Net.Queue } catch (HttpRateLimitException ex) { - //When a 429 occurs, we drop all our locks, including the ones we wanted. + //When a 429 occurs, we drop all our locks. //This is generally safe though since 429s actually occuring should be very rare. RequestQueueBucket bucket; bool success = FindBucket(ex.BucketId, out bucket); @@ -152,7 +152,8 @@ namespace Discord.Net.Queue if (millis <= 0 || !await _semaphore.WaitAsync(millis).ConfigureAwait(false)) throw new TimeoutException(); } - await _semaphore.WaitAsync().ConfigureAwait(false); + else + await _semaphore.WaitAsync().ConfigureAwait(false); } private async Task QueueExitAsync() {