]> granicus.if.org Git - pgbouncer/commitdiff
log if drop_on_error triggers
authorMarko Kreen <markokr@gmail.com>
Fri, 1 Aug 2008 17:20:24 +0000 (17:20 +0000)
committerMarko Kreen <markokr@gmail.com>
Fri, 1 Aug 2008 17:20:24 +0000 (17:20 +0000)
src/proto.c
src/server.c

index 2a43fca467eb68de6fd4757f86b2370299bd1635..cb3f64647908695e5fedf3bb3476ce76d8cba42c 100644 (file)
@@ -144,7 +144,7 @@ void log_server_error(const char *note, PktHdr *pkt)
        parse_server_error(pkt, &level, &msg);
 
        if (!msg || !level)
-               log_error("%s: corrupt error message", note);
+               log_error("%s: partial error message, cannot log", note);
        else
                log_error("%s: %s: %s", note, level, msg);
 }
index f01f772244bacb863ec6b229b25e0734bc166d2b..e5637bb60237372f0beb4a91382ca19717ce1b02 100644 (file)
@@ -242,8 +242,10 @@ static bool handle_server_work(PgSocket *server, PktHdr *pkt)
                        disconnect_server(server, true, "invalid server parameter");
                        return false;
                }
-               if (cf_drop_on_error)
+               if (cf_drop_on_error && !server->close_needed) {
+                       log_server_error("drop_on_error", pkt);
                        server->close_needed = 1;
+               }
 
        case 'N':               /* NoticeResponse */
                break;