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  (Ryan Kelly <rpkelly22@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Jaime Casanova
Дата:
Сообщение: streaming header too small
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: streaming header too small