aboutsummaryrefslogtreecommitdiff
path: root/databases/pgbouncer/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/pgbouncer/files')
-rw-r--r--databases/pgbouncer/files/patch-keepalive46
1 files changed, 46 insertions, 0 deletions
diff --git a/databases/pgbouncer/files/patch-keepalive b/databases/pgbouncer/files/patch-keepalive
new file mode 100644
index 000000000000..5da439c89796
--- /dev/null
+++ b/databases/pgbouncer/files/patch-keepalive
@@ -0,0 +1,46 @@
+--- src/util.c.orig 2011-12-07 15:04:13.000000000 +0400
++++ src/util.c 2011-12-07 15:04:07.000000000 +0400
+@@ -126,7 +126,7 @@
+ res = setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val));
+ if (res < 0)
+ goto fail;
+-#ifdef __linux__
++#ifdef TCP_KEEPCNT
+ /* set count of keepalive packets */
+ if (cf_tcp_keepcnt > 0) {
+ val = cf_tcp_keepcnt;
+@@ -134,6 +134,8 @@
+ if (res < 0)
+ goto fail;
+ }
++#endif
++#ifdef TCP_KEEPIDLE
+ /* how long the connection can stay idle before sending keepalive pkts */
+ if (cf_tcp_keepidle) {
+ val = cf_tcp_keepidle;
+@@ -141,6 +143,8 @@
+ if (res < 0)
+ goto fail;
+ }
++#endif
++#ifdef TCP_KEEPINTVL
+ /* time between packets */
+ if (cf_tcp_keepintvl) {
+ val = cf_tcp_keepintvl;
+@@ -148,7 +152,7 @@
+ if (res < 0)
+ goto fail;
+ }
+-#else
++#endif
+ #ifdef TCP_KEEPALIVE
+ if (cf_tcp_keepidle) {
+ val = cf_tcp_keepidle;
+@@ -157,7 +161,6 @@
+ goto fail;
+ }
+ #endif
+-#endif
+ }
+
+ /* set in-kernel socket buffer size */