<div dir="ltr">Hi Yugo.<div><br></div><div>I was looking at the code and this commit. You are only checking the pocessState in pool_check_fd() to declare if the timeout has occurred during a health check. Shouldn&#39;t we also check if the signal was actually the health check timer expire to make sure that we do not declare the timer expire because of some other signal arrived while waiting for data.</div><div><br></div><div>Can you please have a look at the attached patch to do the same, Do you think it is the right approach?</div><div><br></div><div>Thanks</div><div>Kind regards</div><div>Muhammad Usama</div><div><br></div>







</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 8, 2016 at 5:15 PM, Yugo Nagata <span dir="ltr">&lt;<a href="mailto:nagata@sraoss.co.jp" target="_blank">nagata@sraoss.co.jp</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Fix a posible hang during health checking<br>
<br>
Helath checking was hang when any data wasn&#39;t sent<br>
from backend after connect(2) succeeded. To fix this,<br>
pool_check_fd() returns 1 when select(2) exits with<br>
EINTR due to SIGALRM while health checkking is performed.<br>
<br>
Reported and patch provided by harukat and some modification<br>
by Yugo. Per bug #204.<br>
<br>
Branch<br>
------<br>
V3_4_STABLE<br>
<br>
Details<br>
-------<br>
<a href="http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=ed9f2900f1b611f5cfd52e8f758c3616861e60c0" rel="noreferrer" target="_blank">http://git.postgresql.org/<wbr>gitweb?p=pgpool2.git;a=<wbr>commitdiff;h=<wbr>ed9f2900f1b611f5cfd52e8f758c36<wbr>16861e60c0</a><br>
<br>
Modified Files<br>
--------------<br>
src/protocol/pool_process_<wbr>query.c | 10 ++++++++++<br>
1 file changed, 10 insertions(+)<br>
<br>
______________________________<wbr>_________________<br>
pgpool-committers mailing list<br>
<a href="mailto:pgpool-committers@pgpool.net">pgpool-committers@pgpool.net</a><br>
<a href="http://www.pgpool.net/mailman/listinfo/pgpool-committers" rel="noreferrer" target="_blank">http://www.pgpool.net/mailman/<wbr>listinfo/pgpool-committers</a><br>
</blockquote></div><br></div>