Message244015
Agree with Charles-François's second explanation. This makes it very hard to reliably handle signals -- basically everyone has to remember to use set_wakeup_fd, and most people don't. For example, gunicorn is likely vulnerable to this because it doesn't use set_wakeup_fd. I suspect most code using select + signals is wrong.
I've attached a patch which fixes the issue for select(), but not any other functions. If it's considered a good patch, I can work on the rest of the functions in the select module. (Also, tests for the details of the behavior.)
Also the patch is pretty hokey, so I'd appreciate feedback if it's going to go in. :) |
|
Date |
User |
Action |
Args |
2015-05-25 05:25:12 | Devin Jeanpierre | set | recipients:
+ Devin Jeanpierre, tim.peters, georg.brandl, pitrou, amcnabb, pts, s7v7nislands, neologix, Netto |
2015-05-25 05:25:12 | Devin Jeanpierre | set | messageid: <1432531512.2.0.671066613974.issue5315@psf.upfronthosting.co.za> |
2015-05-25 05:25:12 | Devin Jeanpierre | link | issue5315 messages |
2015-05-25 05:25:11 | Devin Jeanpierre | create | |
|