<div dir="ltr"><div>Hi guys... <br></div><div><br></div><div>I've discovered that pgpool (at least version 4.2.6) for some unclear reason writes a C-string terminal zero symbol to pid file with pid number. It's uncommon approach and it cause raising an exception on standard python code used for getting PID from a file:</div><div>...<br></div><div>with open('/var/run/pgpool.pid') as f:</div><div>    pid = int(f.readline().strip())<br></div><div>...</div><div>It works great for Postgresql. And I have no idea why it shouldn't work for pgpool-II. <br></div><div>I've prepared a patch of the issue. Feel free to take it for your purpose if you decide it's ok for you: <br></div><div><br></div><div>*** src/main/main.c.orig      2021-11-18 03:21:14.000000000 +0000<br>--- src/main/main.c        2024-01-22 10:53:02.513175737 +0000<br>*************** write_pid_file(void)<br>*** 671,677 ****<br>                                   errdetail("%m")));<br>        }<br>    snprintf(pidbuf, sizeof(pidbuf), "%d", (int) getpid());<br>!    if (write(fd, pidbuf, strlen(pidbuf) + 1) == -1)<br>     {<br>            close(fd);<br>           pfree(pid_file);<br>--- 671,677 ----<br>                            errdetail("%m")));<br>        }<br>    snprintf(pidbuf, sizeof(pidbuf), "%d", (int) getpid());<br>!    if (write(fd, pidbuf, strlen(pidbuf)) == -1)<br>         {<br>            close(fd);<br>           pfree(pid_file);</div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>BR</div><div>Igor Yurchenko<br></div></div></div></div></div></div>