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.
This commit is contained in:
parent
cfc21fcf48
commit
6fd7120616
|
@ -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
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue