Date: Thu, 7 Nov 2013 15:10:27 -0800 From: Maxim Sobolev <sobomax@FreeBSD.org> To: glebius@FreeBSD.org, andre@FreeBSD.org, bz@FreeBSD.org, lstewart@FreeBSD.org, pgsql@FreeBSD.org, stable@freebsd.org Subject: Re: svn commit: r232945 - in stable/9: share/man/man4 sys/i386/conf sys/netinet sys/sys Message-ID: <CAH7qZfuy8GpRMxz84FArGreqE0YdYUAt1-CRwh%2BsJi8f%2B1Y3ag@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hey guys, any particular reasons why those options are write-only? Is it just laziness of the developer or is there any particular fundamental reason for it being like this. This might be some regression, since at least some 3rd party software that does getsockopt(), checks its status and only does setsockopt() if the former completed successfully. Which kinda makes sense IMHO. The software in question is PostgreSQL here. As a result, the software may be misbehaving since it detects those options as being present on the configure stage, but cannot really make any use of them later on during runtime. Had it not detect those options at the build stage, it might have used some kind of software protocol workaround (i.e. sending ping/nop packets) so it in fact might trigger some bugs and whatnot. We believe it might be the reason for some of our problems here with PG 91 and FreeBSD 92. > Log: > Merge 231025 from head: > Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and > TCP_KEEPCNT, that allow to control initial timeout, idle time, idle > re-send interval and idle send count on a per-socket basis. > > Reviewed by: andre, bz, lstewart > Nov 7 16:04:01 sip-dc postgres[64004]: [13-1] LOG: getsockopt(TCP_KEEPCNT) failed: Protocol not available Nov 7 16:04:01 sip-dc postgres[64004]: [14-1] LOG: getsockopt(TCP_KEEPIDLE) failed: Protocol not available Nov 7 16:04:01 sip-dc postgres[64004]: [15-1] LOG: getsockopt(TCP_KEEPINTVL) failed: Protocol not available Nov 7 16:04:02 sip-dc postgres[64140]: [13-1] LOG: getsockopt(TCP_KEEPCNT) failed: Protocol not available Nov 7 16:04:02 sip-dc postgres[64140]: [14-1] LOG: getsockopt(TCP_KEEPIDLE) failed: Protocol not available Nov 7 16:04:02 sip-dc postgres[64140]: [15-1] LOG: getsockopt(TCP_KEEPINTVL) failed: Protocol not available -Maxim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAH7qZfuy8GpRMxz84FArGreqE0YdYUAt1-CRwh%2BsJi8f%2B1Y3ag>