diff options
| -rw-r--r-- | bitbake/lib/bb/asyncrpc/serv.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bitbake/lib/bb/asyncrpc/serv.py b/bitbake/lib/bb/asyncrpc/serv.py index b4cffff213..585bc121da 100644 --- a/bitbake/lib/bb/asyncrpc/serv.py +++ b/bitbake/lib/bb/asyncrpc/serv.py | |||
| @@ -151,6 +151,13 @@ class AsyncServer(object): | |||
| 151 | s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) | 151 | s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) |
| 152 | s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1) | 152 | s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1) |
| 153 | 153 | ||
| 154 | # Enable keep alives. This prevents broken client connections | ||
| 155 | # from persisting on the server for long periods of time. | ||
| 156 | s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) | ||
| 157 | s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 30) | ||
| 158 | s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 15) | ||
| 159 | s.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 4) | ||
| 160 | |||
| 154 | name = self.server.sockets[0].getsockname() | 161 | name = self.server.sockets[0].getsockname() |
| 155 | if self.server.sockets[0].family == socket.AF_INET6: | 162 | if self.server.sockets[0].family == socket.AF_INET6: |
| 156 | self.address = "[%s]:%d" % (name[0], name[1]) | 163 | self.address = "[%s]:%d" % (name[0], name[1]) |
