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/