Re: RE: PostgreSQL and Unicode
От | Tatsuo Ishii |
---|---|
Тема | Re: RE: PostgreSQL and Unicode |
Дата | |
Msg-id | 20000517100701W.t-ishii@sra.co.jp обсуждение исходный текст |
Ответ на | Re: RE: PostgreSQL and Unicode (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: RE: PostgreSQL and Unicode
|
Список | pgsql-hackers |
> > What about adding KEEPALIVE option to the socket? > > Of course, since whatever OS he's using on the client side is too broken > to notice that the socket is orphaned and close it, it might be so > broken as to respond to the keepalive pings :-(. Still, it'd be an easy > thing to try... > > Even though the stated case sounds more like an OS bug than anything > else, setting KEEPALIVE on our TCP connections is probably still a good > idea. If the client machine were to crash completely then it wouldn't > be reasonable to expect it to close the connection, and we'd want to > have some method of ensuring that the connected backend shuts down > eventually. KEEPALIVE seems sufficiently low-overhead (and easy to > implement) to be the right answer for this scenario. Ok. Here are patches against 7.0. BTW, does this break some platforms such as Windows NT or QUNX4? *** postgresql-7.0/src/backend/libpq/pqcomm.c.orig Tue May 16 18:06:42 2000 --- postgresql-7.0/src/backend/libpq/pqcomm.c Wed May 17 08:23:09 2000 *************** *** 375,381 **** if (setsockopt(port->sock, pe->p_proto, TCP_NODELAY, &on, sizeof(on)) < 0) { ! perror("postmaster: StreamConnection: setsockopt"); return STATUS_ERROR; } } --- 375,387 ---- if (setsockopt(port->sock, pe->p_proto, TCP_NODELAY, &on, sizeof(on)) < 0) { ! perror("postmaster: StreamConnection: setsockopt(TCP_NODELAY)"); ! return STATUS_ERROR; ! } ! if (setsockopt(port->sock, SOL_SOCKET, SO_KEEPALIVE, ! &on, sizeof(on)) < 0) ! { ! perror("postmaster: StreamConnection: setsockopt(SO_KEEPALIVE)"); return STATUS_ERROR; } }
В списке pgsql-hackers по дате отправления: