;;;; -*- coding: utf-8; fill-column: 78 -*-
changes relative to sbcl-1.0.50:
+ * enhancement: added support for socket keepalive timeout intervals
+ and probe counts on Linux.
* enhancement: building 32-bit SBCL on Linux/x86-64 now works without a
chroot. (Use "SBCL_ARCH=x86 sh make.sh" to build.)
* bug fix: correct RIP offset calculation in SSE comparison and shuffle
#+linux (:integer so-passcred "SO_PASSCRED")
(:integer so-rcvbuf "SO_RCVBUF")
(:integer so-keepalive "SO_KEEPALIVE"
- "Send periodic keepalives: if peer does not respond, we get SIGPIPE")
+ "Send periodic keepalives. If peer does not respond, we get SIGPIPE.")
+ #+linux (:integer tcp-keepcnt "TCP_KEEPCNT"
+ "Number of unacknowledged probes before the connection is considered dead.")
+ #+linux (:integer tcp-keepidle "TCP_KEEPIDLE"
+ "Seconds between the last data packet sent and the first keepalive probe.")
+ #+linux (:integer tcp-keepintvl "TCP_KEEPINTVL" "Seconds between keepalive probes.")
(:integer so-oobinline "SO_OOBINLINE"
"Put out-of-band data into the normal input queue when received")
#+linux
sockopt-priority sockint::sol-socket sockint::so-priority :linux
"Available only on Linux.")
+(define-socket-option-int
+ sockopt-tcp-keepcnt :tcp sockint::tcp-keepcnt :linux "Available only on Linux.")
+(define-socket-option-int
+ sockopt-tcp-keepidle :tcp sockint::tcp-keepidle :linux "Available only on Linux.")
+(define-socket-option-int
+ sockopt-tcp-keepintvl :tcp sockint::tcp-keepintvl :linux "Available only on Linux.")
+
;;; boolean options are integers really
(defun foreign-int-to-bool (x size)