On Fri, 2009-09-11 at 11:53 +0200, Johan Euphrosine wrote:
> I believe this might be due a border case where  the long poll
> deferred
> returns None instead of [].
> 
> I'll investigate more on this issue.

Got it:

    def handlePacketDefer(self, packet):
        if packet.type == PACKET_POKER_LONG_POLL:
            return self.longpollDeferred()

    def longpollDeferred(self):
        self._longpoll_deferred = defer.Deferred()
        self.flushLongPollDeferred()
        return self._longpoll_deferred

    def flushLongPollDeferred(self):
        if self._block_longpoll_deferred == False and self._longpoll_deferred 
and len(self._packets_queue) > 0:
            packets = self.resetPacketsQueue()
            d = self._longpoll_deferred
            self._longpoll_deferred = None
            d.callback(packets)

self._packet_queue is not empty
-> flushLongPollDeferred set _longpoll_deferred to None
-> longpollDeferred returns self._longpoll_deferred (None)
-> handlePacketDefer returns self.longpollDeferred() (None)
-> *CRASH*

Will work on a testcase to reproduce this issue.
-- 
Johan Euphrosine <[email protected]>

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Pokersource-users mailing list
[email protected]
https://mail.gna.org/listinfo/pokersource-users

Reply via email to