Dylan Jay

Results 129 comments of Dylan Jay

Looks like it is possible a connection thats been broken before getpeername to then no have any error in select. in the case where there is nothing to read since...

or somethow the getpeername is invalid and that results in a oserror. and there is nothing to read but something to write. but I'm not sure if that results in...

@d-maurer I'm fairly sure I have one solid explanation how this could occur. Outlined in this test - https://github.com/Pylons/waitress/pull/419/files#diff-5938662f28fcbb376792258701d0b6c21ec8a1232dada6ad2ca0ea97d4043d96R775 NOTE: I haven't worked out a way to detect the looping...

@d-maurer I pushed new code that uses writable instead.

@d-maurer maybe a core contributor can step in and advise the best solution and test. @digitalresistor @kgaughan ?

@d-maurer that was my initial thought but as I pointed out in https://github.com/Pylons/waitress/issues/418#issuecomment-1714057512 recv in wasynccore will do ```handle_close``` on getting empty data and take it out of the map...

Also when I did some testing it did seem like the select would indicate a write was possible even without the back end producing any data. So there is no...

@d-maurer that would be a different bug in waitress. My problem is I run out of CPU on my servers if I don't restart them often due to these weird...

> > @d-maurer that would be a different bug in waitress. > > My problem is I run out of CPU on my servers if I don't restart them often...

@d-maurer you are right. shutdown doesn't seem to make getpeername fail. I've created a test and I can't get getpeername to fail yet. https://github.com/djay/waitress/blob/5130bec0501567c809397cc3d8003c0af11fb46f/tests/test_server.py#L338