Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings
От | Fujii Masao |
---|---|
Тема | Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings |
Дата | |
Msg-id | b79defeb-e938-2840-8adf-fa0af08e2c2b@oss.nttdata.com обсуждение исходный текст |
Ответ на | Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings (Jelte Fennema <Jelte.Fennema@microsoft.com>) |
Ответы |
Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings
|
Список | pgsql-hackers |
On 2021/10/07 4:58, Jelte Fennema wrote: > Ugh forgot to attach the patch. Here it is. Thanks for working on this patch! @@ -4546,10 +4684,21 @@ PQrequestCancel(PGconn *conn) return false; } - - r = internal_cancel(&conn->raddr, conn->be_pid, conn->be_key, Since PQrequestCancel() is marked as deprecated, I don't think that we need to add the feature into it. + if (cancel->pgtcp_user_timeout >= 0) { + if (setsockopt(tmpsock, IPPROTO_TCP, TCP_USER_TIMEOUT, + (char *) &cancel->pgtcp_user_timeout, + sizeof(cancel->pgtcp_user_timeout)) < 0) { + goto cancel_errReturn; + } + } libpq has already setKeepalivesXXX() functions to do the almost same thing. Isn't it better to modify and reuse them instead of adding the almost same code, to simplify the code? Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
В списке pgsql-hackers по дате отправления: