diff options
author | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2005-06-14 10:35:30 +0000 |
---|---|---|
committer | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2005-06-14 10:35:30 +0000 |
commit | a765804ff46caac780e10a883f0d31addeb173f2 (patch) | |
tree | c31e3769f295c146f4284b3bd4f0f6181ec76999 | |
parent | b7be6d497a2f3be3d17dcd290694e237bda68f2a (diff) | |
download | libapr-a765804ff46caac780e10a883f0d31addeb173f2.tar.gz |
send and receive buffer sizes are not flags, and caller
may pass different values on different calls; so don't
try to optimize this setsockopt()
SO_LINGER is an odd one; the real setsockopt provides
a configurable value for the timeout; but with APR, this
is a flag and the timeout is hardcoded; so the optimization
stays for this one
Reviewed by: Joe Orton
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.0.x@190572 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | network_io/unix/sockopt.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/network_io/unix/sockopt.c b/network_io/unix/sockopt.c index a6c80a9a5..8eca7b2da 100644 --- a/network_io/unix/sockopt.c +++ b/network_io/unix/sockopt.c @@ -149,11 +149,8 @@ apr_status_t apr_socket_opt_set(apr_socket_t *sock, break; case APR_SO_SNDBUF: #ifdef SO_SNDBUF - if (apr_is_option_set(sock, APR_SO_SNDBUF) != on) { - if (setsockopt(sock->socketdes, SOL_SOCKET, SO_SNDBUF, (void *)&on, sizeof(int)) == -1) { - return errno; - } - apr_set_option(sock, APR_SO_SNDBUF, on); + if (setsockopt(sock->socketdes, SOL_SOCKET, SO_SNDBUF, (void *)&on, sizeof(int)) == -1) { + return errno; } #else return APR_ENOTIMPL; @@ -161,11 +158,8 @@ apr_status_t apr_socket_opt_set(apr_socket_t *sock, break; case APR_SO_RCVBUF: #ifdef SO_RCVBUF - if (apr_is_option_set(sock, APR_SO_RCVBUF) != on) { - if (setsockopt(sock->socketdes, SOL_SOCKET, SO_RCVBUF, (void *)&on, sizeof(int)) == -1) { - return errno; - } - apr_set_option(sock, APR_SO_RCVBUF, on); + if (setsockopt(sock->socketdes, SOL_SOCKET, SO_RCVBUF, (void *)&on, sizeof(int)) == -1) { + return errno; } #else return APR_ENOTIMPL; |