Return-Path: Delivered-To: apmail-apr-cvs-archive@apr.apache.org Received: (qmail 33675 invoked by uid 500); 4 Apr 2003 11:47:41 -0000 Mailing-List: contact cvs-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Reply-To: dev@apr.apache.org Delivered-To: mailing list cvs@apr.apache.org Received: (qmail 33658 invoked from network); 4 Apr 2003 11:47:40 -0000 Date: 4 Apr 2003 11:47:40 -0000 Message-ID: <20030404114740.44804.qmail@icarus.apache.org> From: trawick@apache.org To: apr-cvs@apache.org Subject: cvs commit: apr/network_io/unix sockopt.c X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N trawick 2003/04/04 03:47:40 Modified: . CHANGES network_io/unix sockopt.c Log: Implement APR_SO_RCVBUF socket option on Unix. Submitted by: Adam Sussman Reviewed by: Jeff Trawick Revision Changes Path 1.396 +3 -0 apr/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/apr/CHANGES,v retrieving revision 1.395 retrieving revision 1.396 diff -u -r1.395 -r1.396 --- CHANGES 1 Apr 2003 22:28:35 -0000 1.395 +++ CHANGES 4 Apr 2003 11:47:39 -0000 1.396 @@ -1,5 +1,8 @@ Changes with APR 0.9.4 + *) Implement APR_SO_RCVBUF socket option on Unix. + [Adam Sussman ] + *) Don't add the math library (-lm) if the modf() function is already available via libc. [Roy Fielding] 1.68 +12 -0 apr/network_io/unix/sockopt.c Index: sockopt.c =================================================================== RCS file: /home/cvs/apr/network_io/unix/sockopt.c,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- sockopt.c 24 Feb 2003 23:13:29 -0000 1.67 +++ sockopt.c 4 Apr 2003 11:47:40 -0000 1.68 @@ -198,6 +198,18 @@ return APR_ENOTIMPL; #endif break; + case APR_SO_RCVBUF: +#ifdef SO_RCVBUF + if (apr_is_option_set(sock->netmask, APR_SO_RCVBUF) != on) { + if (setsockopt(sock->socketdes, SOL_SOCKET, SO_RCVBUF, (void *)&on, sizeof(int)) == -1) { + return errno; + } + apr_set_option(&sock->netmask, APR_SO_RCVBUF, on); + } +#else + return APR_ENOTIMPL; +#endif + break; case APR_SO_NONBLOCK: if (apr_is_option_set(sock->netmask, APR_SO_NONBLOCK) != on) { if (on) {