On Fri, Feb 5, 2010 at 12:14 AM, Nick Kew <n...@webthing.com> wrote: > On Thu, 4 Feb 2010 15:20:54 +0800 > Tianwei <tianwei.sh...@gmail.com> wrote: > > > besides, the following warning indicated that developer already have > > been aware of the problem and tolerate it: > > 1. comments in worker.c: > > a: > > 896 requests_this_child--; /* FIXME: should be synchronized - > aaron */ > > b: > > 632 /* TODO: requests_this_child should be synchronized - aaron > */ > > 633 if (requests_this_child <= 0) { > > 634 check_infinite_requests(); > > 635 } > > When evaluating a race condition, you should consider what the worst > possible outcome is if two or more threads collide in a race. If it's > something that matters, then you have a bug that should be fixed. > > The precise number of requests served in the lifetime of a worker > process is not exactly critical! > > Hi, Nick, You are right. But without application specific knowledge, it's hard for tool maker to evaluate if a bug is harmful or not. For this "requests_this_child" one, I can also learn that it's not critical. But for the waring in fdqueue.c, I am not sure because there are already several race condition fixes in the bug database. If anyone is very familiar with that part of code, can you help have a look at my analysis?
Thanks. Tianwei > -- > Nick Kew > -- Sheng, Tianwei Inst. of High Performance Computing Dept. of Computer Sci. & Tech. Tsinghua Univ.