From f5b455c119d40d8c58b7781b22b8c225fc9d1786 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 e660f6cbc..0150a9bd3 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'])