From 3558a0db27324d801a983a53bf65dc3f48e23fa2 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 8 Feb 2017 03:47:35 -0500 Subject: [PATCH] Only defer the lock if we're pre-emptively rate limiting. If a 429 was already hit somehow then we're no longer pre-emptively rate limiting and we're going to end up having a race condition in the lock/unlock cycle. --- discord/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/discord/http.py b/discord/http.py index f55d43a66..24510be43 100644 --- a/discord/http.py +++ b/discord/http.py @@ -154,7 +154,7 @@ class HTTPClient: # check if we have rate limit header information remaining = r.headers.get('X-Ratelimit-Remaining') - if remaining == '0': + if remaining == '0' and r.status != 429: # we've depleted our current bucket if header_bypass_delay is None: now = parsedate_to_datetime(r.headers['Date'])