Thread
-
Big disconnect_and_exit cleanup in pg_basebackup
Boszormenyi Zoltan <zb@cybertec.at> — 2013-01-02T16:17:59Z
Hi, the previously sent "factor out pg_malloc and friends" patch may call exit() in case of OOM during allocation and as a consequence, PQfinish() won't get called, leaving an "unexpected EOF from client" in the log. Let's close this annoyance in pg_basebackup. The attached patch does the following: - adds a PQfinish() (actually PQfinishSafe()) call that was just posted in another thread - replace all PQfinish() and PQclear() with their *Safe counterpart so a normal execution won't result in a crash because of calling PQfinish() on a stale pointer - kill the disconnect_and_exit() macro, replace it with plain exit(), the atexit callback does the disconnect anyway. Best regards, Zoltán Böszörményi -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt, Austria Web: http://www.postgresql-support.de http://www.postgresql.at/ -
Re: Big disconnect_and_exit cleanup in pg_basebackup
Boszormenyi Zoltan <zb@cybertec.at> — 2013-01-02T16:44:12Z
2013-01-02 17:17 keltezéssel, Boszormenyi Zoltan írta: > Hi, > > the previously sent "factor out pg_malloc and friends" patch > may call exit() in case of OOM during allocation and as a consequence, > PQfinish() won't get called, leaving an "unexpected EOF from client" > in the log. > > Let's close this annoyance in pg_basebackup. The attached patch does > the following: > > - adds a PQfinish() (actually PQfinishSafe()) call that was just posted > in another thread > - replace all PQfinish() and PQclear() with their *Safe counterpart so > a normal execution won't result in a crash because of calling PQfinish() > on a stale pointer Forget about this point, the attached version sets "conn = NULL;" explicitly after PQfinish(conn). > - kill the disconnect_and_exit() macro, replace it with plain exit(), > the atexit callback does the disconnect anyway. > > Best regards, > Zoltán Böszörményi > > > -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt, Austria Web: http://www.postgresql-support.de http://www.postgresql.at/