diff options
author | konstantin@mysql.com <> | 2005-01-25 02:54:17 +0300 |
---|---|---|
committer | konstantin@mysql.com <> | 2005-01-25 02:54:17 +0300 |
commit | 013a6f50c29e56adf272aa924f26a118948c967e (patch) | |
tree | 9a0ff023f407b52faca39a6844ea3283d9700c05 /vio | |
parent | d11081bd6ff8e646ecfeff3526ccc6bc63e09f44 (diff) | |
parent | 4a7fd21f123c47d82fc9a687a89e772f8df6333c (diff) | |
download | mariadb-git-013a6f50c29e56adf272aa924f26a118948c967e.tar.gz |
Merge mysql.com:/home/kostja/work/mysql-4.1-5787
into mysql.com:/home/kostja/work/mysql-5.0-root
Diffstat (limited to 'vio')
-rw-r--r-- | vio/viosocket.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/vio/viosocket.c b/vio/viosocket.c index de50dabba5f..858faac4f1e 100644 --- a/vio/viosocket.c +++ b/vio/viosocket.c @@ -142,23 +142,29 @@ int vio_fastsend(Vio * vio __attribute__((unused))) int r=0; DBUG_ENTER("vio_fastsend"); -#ifdef IPTOS_THROUGHPUT +#if defined(IPTOS_THROUGHPUT) && !defined(__EMX__) { -#ifndef __EMX__ int tos = IPTOS_THROUGHPUT; - if (!setsockopt(vio->sd, IPPROTO_IP, IP_TOS, (void *) &tos, sizeof(tos))) -#endif /* !__EMX__ */ - { - int nodelay = 1; - if (setsockopt(vio->sd, IPPROTO_TCP, TCP_NODELAY, (void *) &nodelay, - sizeof(nodelay))) { - DBUG_PRINT("warning", - ("Couldn't set socket option for fast send")); - r= -1; - } - } + r= setsockopt(vio->sd, IPPROTO_IP, IP_TOS, (void *) &tos, sizeof(tos)); + } +#endif /* IPTOS_THROUGHPUT && !__EMX__ */ + if (!r) + { +#ifdef __WIN__ + BOOL nodelay= 1; + r= setsockopt(vio->sd, IPPROTO_TCP, TCP_NODELAY, (const char*) &nodelay, + sizeof(nodelay)); +#else + int nodelay = 1; + r= setsockopt(vio->sd, IPPROTO_TCP, TCP_NODELAY, (void*) &nodelay, + sizeof(nodelay)); +#endif /* __WIN__ */ + } + if (r) + { + DBUG_PRINT("warning", ("Couldn't set socket option for fast send")); + r= -1; } -#endif /* IPTOS_THROUGHPUT */ DBUG_PRINT("exit", ("%d", r)); DBUG_RETURN(r); } |