Re: [PATCH] Allow breaking out of hung connection attempts
От | Heikki Linnakangas |
---|---|
Тема | Re: [PATCH] Allow breaking out of hung connection attempts |
Дата | |
Msg-id | 4F0AA6E6.10608@enterprisedb.com обсуждение исходный текст |
Ответ на | [PATCH] Allow breaking out of hung connection attempts (Ryan Kelly <rpkelly22@gmail.com>) |
Ответы |
Re: [PATCH] Allow breaking out of hung connection
attempts
|
Список | pgsql-hackers |
On 08.01.2012 22:18, Ryan Kelly wrote: > @@ -1570,7 +1570,13 @@ do_connect(char *dbname, char *user, char *host, char *port) > keywords[7] = NULL; > values[7] = NULL; > > - n_conn = PQconnectdbParams(keywords, values, true); > + if (sigsetjmp(sigint_interrupt_jmp, 1) != 0) { > + /* got here with longjmp */ > + } else { > + sigint_interrupt_enabled = true; > + n_conn = PQconnectdbParams(keywords, values, true); > + sigint_interrupt_enabled = false; > + } > > free(keywords); > free(values); That assumes that it's safe to longjmp out of PQconnectdbParams at any instant. It's not. I think you'd need to use the asynchronous connection functions PQconnectStartParams() and PQconnectPoll(), and select(). -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: