add check for interrupt in prompt for password

This commit is contained in:
Anastasia
2017-09-01 11:51:49 +03:00
parent dfdebfc05e
commit 25762c2830
3 changed files with 9 additions and 7 deletions
+1 -2
View File
@@ -447,8 +447,7 @@ do_backup(void)
elog(ERROR, "Options for connection to master must be provided to perform backup from replica");
/* Create connection to master server */
master_conn = pgut_connect_extended(master_host, master_port,
master_db, master_user, password);
master_conn = pgut_connect_extended(master_host, master_port, master_db, master_user);
}
/* Get exclusive lock of backup catalog */
+7 -3
View File
@@ -1015,12 +1015,12 @@ prompt_for_password(const char *username)
PGconn *
pgut_connect(const char *dbname)
{
return pgut_connect_extended(host, port, dbname, username, password);
return pgut_connect_extended(host, port, dbname, username);
}
PGconn *
pgut_connect_extended(const char *pghost, const char *pgport,
const char *dbname, const char *login, const char *pwd)
const char *dbname, const char *login)
{
PGconn *conn;
@@ -1031,7 +1031,7 @@ pgut_connect_extended(const char *pghost, const char *pgport,
for (;;)
{
conn = PQsetdbLogin(pghost, pgport, NULL, NULL,
dbname, login, pwd);
dbname, login, password);
if (PQstatus(conn) == CONNECTION_OK)
return conn;
@@ -1040,6 +1040,10 @@ pgut_connect_extended(const char *pghost, const char *pgport,
{
PQfinish(conn);
prompt_for_password(username);
if (interrupted)
elog(ERROR, "interrupted");
continue;
}
elog(ERROR, "could not connect to database %s: %s",
+1 -2
View File
@@ -117,8 +117,7 @@ extern void pgut_atexit_pop(pgut_atexit_callback callback, void *userdata);
*/
extern PGconn *pgut_connect(const char *dbname);
extern PGconn *pgut_connect_extended(const char *pghost, const char *pgport,
const char *dbname, const char *login,
const char *pwd);
const char *dbname, const char *login);
extern void pgut_disconnect(PGconn *conn);
extern PGresult *pgut_execute(PGconn* conn, const char *query, int nParams, const char **params);
extern bool pgut_send(PGconn* conn, const char *query, int nParams, const char **params, int elevel);