Re: Strange hanging bug in a simple milter

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Strange hanging bug in a simple milter
Дата
Msg-id 5233684A.2040505@vmware.com
обсуждение исходный текст
Ответ на Re: Strange hanging bug in a simple milter  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Ответы Re: Strange hanging bug in a simple milter  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-hackers
On 13.09.2013 22:26, Heikki Linnakangas wrote:
> I'm afraid the "move_locks.diff" patch you posted earlier is also
> broken; close_SSL() is called in error scenarios from
> pqsecure_open_client(), while already holding the mutex. So it will
> deadlock with itself if the connection cannot be established.

Actually, I think there's a pre-existing bug there in git master. If the 
SSL_set_app_data or SSL_set_fd call in pqsecure_open_client fails for 
some reason, it will call close_SSL() with conn->ssl already set, and 
the mutex held. close_SSL() will call 
pqsecure_destroy()->destroy_SSL()->destory_ssl_system(), which will try 
to acquire the mutex again.

- Heikki



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Strange hanging bug in a simple milter
Следующее
От: Robert Haas
Дата:
Сообщение: Re: dynamic shared memory