Is there any way this queue read can possibly block?

John Nagle nagle at animats.com
Thu Apr 30 14:48:53 EDT 2009


def draininput(self) :	# consume any queued input
     try:
         while True :
             ch = self.inqueue.get_nowait()	# get input, if any
     except Queue.Empty:				# if empty
         return					# done

"self.inqueue" is a Queue object.  The intent here is to drain the
queue, then return.  Is there any way this can possibly block or hang?
I wouldn't think so.  Another thread is doing "put" operations,
but slowly, never more than 5 per second.

(It's working for me, but a user of a program of mine is having a problem.)

					John Nagle



More information about the Python-list mailing list