From 6fd71206169c48daf9a45fe246b495bb8113fd10 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Sun, 8 Apr 2001 07:23:44 +0000 Subject: [PATCH] Fix from the Madusa mailing list: http://groups.yahoo.com/group/medusa/message/333 It's clear that Medusa should not be checking for an empty buffer via "buf is ''". The patch merely changes "is" to "==". However, there's a mystery here all the same: Python attempts to store null strings uniquely, so it's unclear why "buf is ''" ever returned false when buf actually was empty. *Some* string operations produce non-unique null strings, e.g. >>> "abc"*0 is "abc"*0 0 >>> but they're rare, and I don't see any such operations in asynchat. --- Lib/asynchat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/asynchat.py b/Lib/asynchat.py index 584aab9f3e..1f9fc6839b 100644 --- a/Lib/asynchat.py +++ b/Lib/asynchat.py @@ -165,7 +165,7 @@ class async_chat (asyncore.dispatcher): # return len(self.ac_out_buffer) or len(self.producer_fifo) or (not self.connected) # this is about twice as fast, though not as clear. return not ( - (self.ac_out_buffer is '') and + (self.ac_out_buffer == '') and self.producer_fifo.is_empty() and self.connected ) -- 2.50.0