diff options
author | bnicholes <bnicholes@13f79535-47bb-0310-9956-ffa450edef68> | 2005-01-18 21:56:37 +0000 |
---|---|---|
committer | bnicholes <bnicholes@13f79535-47bb-0310-9956-ffa450edef68> | 2005-01-18 21:56:37 +0000 |
commit | 4b9d01b831925846af1470c1c4ce6a3c78f6a017 (patch) | |
tree | e7dc4fc9586126fb9027e1e64cfadea895861608 /network_io/win32 | |
parent | 6ad5dfbe6dea63b9c20151a19730dbf9527ded96 (diff) | |
download | libapr-4b9d01b831925846af1470c1c4ce6a3c78f6a017.tar.gz |
Implement APR_TCP_DEFER_ACCEPT for NetWare and Win32
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@125552 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io/win32')
-rw-r--r-- | network_io/win32/sockopt.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/network_io/win32/sockopt.c b/network_io/win32/sockopt.c index 05f32b81e..be446b0db 100644 --- a/network_io/win32/sockopt.c +++ b/network_io/win32/sockopt.c @@ -148,6 +148,21 @@ APR_DECLARE(apr_status_t) apr_socket_opt_set(apr_socket_t *sock, } break; } + case APR_TCP_DEFER_ACCEPT: +#if defined(TCP_DEFER_ACCEPT) + if (apr_is_option_set(sock, APR_TCP_DEFER_ACCEPT) != on) { + int optlevel = IPPROTO_TCP; + int optname = TCP_DEFER_ACCEPT; + + if (setsockopt(sock->socketdes, optlevel, optname, + (void *)&on, sizeof(int)) == -1) { + return errno; + } + apr_set_option(sock, APR_TCP_DEFER_ACCEPT, on); + } +#else + return APR_ENOTIMPL; +#endif case APR_TCP_NODELAY: if (apr_is_option_set(sock, APR_TCP_NODELAY) != on) { int optlevel = IPPROTO_TCP; |