Le 13/02/12 15:53, Chris McDonough a écrit : > On Mon, 2012-02-13 at 15:50 +0100, Damien Baty wrote: >> Le 13/02/12 15:45, Chris McDonough a écrit : >>> On Mon, 2012-02-13 at 15:00 +0100, Damien Baty wrote: >>>> [...] >>>> >>>> this behaviour is due to "HTTPChannel.task_lock" being shared >>>> between all channels. But perhaps all this is intended. Or I am >>>> missing something. >>> >>> You're right. I'll try to diagnose and fix this later. I *think* the >>> fix might just be to move the task lock constructor to the Channel >>> __init__ but not 100% sure. Thanks a lot for the succinct description >>> and test program. >> >> I did try that and all tests passed, but I was not sure whether this has >> negative side effects. Also, I did not try to write tests for the new >> behaviour. I could give a try if you wish and do not beat me to it! > > I think both task_lock and outbuf_lock could be moved to the constructor > without ill effect. I've done that and it does fix the issue, but > obviously need to create some tests for it to make sure it doesn't break > anything. 2-second fix, four hours writing tests. ;-)
I went ahead and wrote a test (https://github.com/Pylons/waitress/pull/1). There may be a cleaner way but at least it exhibits the bug (and shows that the proposed correction fixes it). -- Damien Baty -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
