Disable Nagle in iprop master and slave
This commit is contained in:

committed by
Nico Williams

parent
0334472ab5
commit
96fd393d29
@@ -355,6 +355,7 @@ AC_CHECK_HEADERS([\
|
|||||||
maillock.h \
|
maillock.h \
|
||||||
netgroup.h \
|
netgroup.h \
|
||||||
netinet/in6_machtypes.h \
|
netinet/in6_machtypes.h \
|
||||||
|
netinet/tcp.h \
|
||||||
pthread.h \
|
pthread.h \
|
||||||
pty.h \
|
pty.h \
|
||||||
sac.h \
|
sac.h \
|
||||||
|
@@ -653,6 +653,9 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg }
|
|||||||
/* Define to 1 if you have the <netinet/in.h> header file. */
|
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||||
/* #define HAVE_NETINET_IN_H 1 */
|
/* #define HAVE_NETINET_IN_H 1 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <netinet/tcp.h> header file. */
|
||||||
|
/* #define HAVE_NETINET_TCP_H 1 */
|
||||||
|
|
||||||
/* Define to 1 if you have the <netinet/in_systm.h> header file. */
|
/* Define to 1 if you have the <netinet/in_systm.h> header file. */
|
||||||
/* #define HAVE_NETINET_IN_SYSTM_H 1 */
|
/* #define HAVE_NETINET_IN_SYSTM_H 1 */
|
||||||
|
|
||||||
|
@@ -319,6 +319,20 @@ add_slave (krb5_context context, krb5_keytab keytab, slave **root,
|
|||||||
* own krb5_recvauth().
|
* own krb5_recvauth().
|
||||||
*/
|
*/
|
||||||
socket_set_nonblocking(s->fd, 1);
|
socket_set_nonblocking(s->fd, 1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We write message lengths separately from the payload, and may do
|
||||||
|
* back-to-back small writes when flushing pending input and then a new
|
||||||
|
* update. Avoid Nagle delays.
|
||||||
|
*/
|
||||||
|
#if defined(IPPROTO_TCP) && defined(TCP_NODELAY)
|
||||||
|
{
|
||||||
|
int nodelay = 1;
|
||||||
|
(void) setsockopt(s->fd, IPPROTO_TCP, TCP_NODELAY,
|
||||||
|
(void *)&nodelay, sizeof(nodelay));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
krb5_free_principal (context, server);
|
krb5_free_principal (context, server);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
krb5_warn (context, ret, "krb5_recvauth");
|
krb5_warn (context, ret, "krb5_recvauth");
|
||||||
|
@@ -99,6 +99,15 @@ connect_to_master (krb5_context context, const char *master,
|
|||||||
if (setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof(one)) < 0)
|
if (setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof(one)) < 0)
|
||||||
krb5_warn(context, errno, "setsockopt(SO_KEEPALIVE) failed");
|
krb5_warn(context, errno, "setsockopt(SO_KEEPALIVE) failed");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We write message lengths separately from the payload, avoid Nagle
|
||||||
|
* delays.
|
||||||
|
*/
|
||||||
|
#if defined(IPPROTO_TCP) && defined(TCP_NODELAY)
|
||||||
|
(void) setsockopt(s, IPPROTO_TCP, TCP_NODELAY,
|
||||||
|
(void *)&one, sizeof(one));
|
||||||
|
#endif
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -67,6 +67,12 @@
|
|||||||
#ifdef HAVE_SYS_SOCKET_H
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_NETINET_IN_H
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_NETINET_TCP_H
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
#endif
|
||||||
#ifdef HAVE_SYS_UN_H
|
#ifdef HAVE_SYS_UN_H
|
||||||
#include <sys/un.h>
|
#include <sys/un.h>
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user