On Thu, Feb 18, 2010 at 7:05 PM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > Magnus Hagander wrote: >> This cannot possibly be correct: >> + if (errno == EAGAIN || EWOULDBLOCK || errno == EINTR) >> >> >> The middle argument is missing the errno== part. > > Ahh, rats. Yeah it clearly is. Thanks.
Thanks for the patch! This seems nicer than mine. * The received byte is stored in *c. Returns 1 if a byte was read, 0 if ! * if no data was available, or EOF if trouble. Typo. 'if' is repeated. + ereport(COMMERROR, + (errcode_for_socket_access(), + errmsg("could not receive data from client: %m"))); + return EOF; We should use "r = EOF" instead of "return EOF" as well as other cases? In WalSndHandshake(), when pq_getbyte() returns EOF, the COMMERROR message "unexpected EOF on standby connection" is emitted doubly. How about removing first COMMERROR message? r = pq_getbyte_if_available(&firstchar); if (r < 0) { ! /* unexpected error */ ereport(COMMERROR, ! (errcode(ERRCODE_PROTOCOL_VIOLATION), ! errmsg("unexpected EOF on standby connection"))); ! proc_exit(0); } Since pq_getbyte_if_available() returns EOF if trouble, "r == EOF" should be used instead of "r < 0"? Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers