From commits-return-7947-apmail-apr-commits-archive=apr.apache.org@apr.apache.org Tue Sep 12 08:48:48 2006 Return-Path: Delivered-To: apmail-apr-commits-archive@www.apache.org Received: (qmail 38044 invoked from network); 12 Sep 2006 08:48:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 12 Sep 2006 08:48:48 -0000 Received: (qmail 96723 invoked by uid 500); 12 Sep 2006 08:48:48 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 96690 invoked by uid 500); 12 Sep 2006 08:48:48 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 96679 invoked by uid 99); 12 Sep 2006 08:48:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Sep 2006 01:48:47 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Sep 2006 01:48:47 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id BC5811A981A; Tue, 12 Sep 2006 01:48:26 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r442526 - /apr/apr/branches/0.9.x/network_io/unix/sockets.c Date: Tue, 12 Sep 2006 08:48:26 -0000 To: commits@apr.apache.org From: mturk@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20060912084826.BC5811A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: mturk Date: Tue Sep 12 01:48:25 2006 New Revision: 442526 URL: http://svn.apache.org/viewvc?view=rev&rev=442526 Log: Backport r442135 from trunk. Modified: apr/apr/branches/0.9.x/network_io/unix/sockets.c Modified: apr/apr/branches/0.9.x/network_io/unix/sockets.c URL: http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/network_io/unix/sockets.c?view=diff&rev=442526&r1=442525&r2=442526 ============================================================================== --- apr/apr/branches/0.9.x/network_io/unix/sockets.c (original) +++ apr/apr/branches/0.9.x/network_io/unix/sockets.c Tue Sep 12 01:48:25 2006 @@ -153,27 +153,34 @@ apr_status_t apr_socket_accept(apr_socket_t **new, apr_socket_t *sock, apr_pool_t *connection_context) { - alloc_socket(new, connection_context); - set_socket_vars(*new, sock->local_addr->sa.sin.sin_family, SOCK_STREAM, sock->protocol); + int s; + apr_sockaddr_t sa; -#ifndef HAVE_POLL - (*new)->connected = 1; -#endif - (*new)->timeout = -1; - - (*new)->socketdes = accept(sock->socketdes, - (struct sockaddr *)&(*new)->remote_addr->sa, - &(*new)->remote_addr->salen); + apr_sockaddr_vars_set(&sa, sock->local_addr->sa.sin.sin_family, 0); + sa.pool = connection_context; + s = accept(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen); - if ((*new)->socketdes < 0) { + if (s < 0) { return errno; } #ifdef TPF - if ((*new)->socketdes == 0) { + if (s == 0) { /* 0 is an invalid socket for TPF */ return APR_EINTR; } #endif + alloc_socket(new, connection_context); + set_socket_vars(*new, sock->local_addr->sa.sin.sin_family, SOCK_STREAM, sock->protocol); + +#ifndef HAVE_POLL + (*new)->connected = 1; +#endif + (*new)->timeout = -1; + + (*new)->remote_addr_unknown = 0; + + (*new)->socketdes = s; + *(*new)->remote_addr = sa; *(*new)->local_addr = *sock->local_addr;