Changeset 9166


Ignore:
Timestamp:
Sep 24, 2009, 12:17:28 PM (13 years ago)
Author:
livings124
Message:

update miniupnp to 20090921

Location:
trunk/third-party/miniupnp
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/third-party/miniupnp/Changelog.txt

    r8962 r9166  
    1 $Id: Changelog.txt,v 1.90 2009/08/07 08:42:18 nanard Exp $
     1$Id: Changelog.txt,v 1.91 2009/09/21 12:57:42 nanard Exp $
    22miniUPnP client Changelog.
     3
     42009/09/21:
     5  fixing the code to ignore EINTR during connect() calls.
    36
    472009/08/07:
  • trunk/third-party/miniupnp/minissdpc.c

    r8862 r9166  
    1 /* $Id: minissdpc.c,v 1.9 2009/07/20 09:18:05 nanard Exp $ */
     1/* $Id: minissdpc.c,v 1.10 2009/09/21 12:57:42 nanard Exp $ */
    22/* Project : miniupnp
    33 * Author : Thomas BERNARD
     
    5454        addr.sun_family = AF_UNIX;
    5555        strncpy(addr.sun_path, socketpath, sizeof(addr.sun_path));
     56        /* TODO : check if we need to handle the EINTR */
    5657        if(connect(s, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0)
    5758        {
  • trunk/third-party/miniupnp/miniupnpc.c

    r8962 r9166  
    1 /* $Id: miniupnpc.c,v 1.63 2009/08/07 14:44:50 nanard Exp $ */
     1/* $Id: miniupnpc.c,v 1.64 2009/09/21 12:57:42 nanard Exp $ */
    22/* Project : miniupnp
    33 * Author : Thomas BERNARD
     
    264264                dest.sin_port = htons(port);
    265265                dest.sin_addr.s_addr = inet_addr(hostname);
     266        n = connect(s, (struct sockaddr *)&dest, sizeof(struct sockaddr));
    266267#ifdef MINIUPNPC_IGNORE_EINTR
    267         do {
    268 #endif
    269             n = connect(s, (struct sockaddr *)&dest, sizeof(struct sockaddr));
    270 #ifdef MINIUPNPC_IGNORE_EINTR
    271         } while(n < 0 && errno == EINTR);
     268        while(n < 0 && errno == EINTR)
     269                {
     270                        socklen_t len;
     271                        fd_set wset;
     272                        int err;
     273                        FD_ZERO(&wset);
     274                        FD_SET(s, &wset);
     275                        if((n = select(s + 1, NULL, &wset, NULL, NULL)) == -1 && errno == EINTR)
     276                                continue;
     277                        /*len = 0;*/
     278                        /*n = getpeername(s, NULL, &len);*/
     279                        len = sizeof(err);
     280                        if(getsockopt(s, SOL_SOCKET, SO_ERROR, &err, &len) < 0) {
     281                                PRINT_SOCKET_ERROR("getsockopt");
     282                                closesocket(s);
     283                                return -1;
     284                        }
     285                        if(err != 0) {
     286                                errno = err;
     287                                n = -1;
     288                        } else {
     289                                n = 0;
     290                        }
     291                }
    272292#endif
    273293                if(n < 0)
     
    678698}
    679699
    680 static int
     700int
    681701UPNPIGD_IsConnected(struct UPNPUrls * urls, struct IGDdatas * data)
    682702{
  • trunk/third-party/miniupnp/miniwget.c

    r8962 r9166  
    1 /* $Id: miniwget.c,v 1.25 2009/08/07 14:44:51 nanard Exp $ */
     1/* $Id: miniwget.c,v 1.26 2009/09/21 12:57:42 nanard Exp $ */
    22/* Project : miniupnp
    33 * Author : Thomas Bernard
     
    3434
    3535#include "miniupnpcstrings.h"
    36 #include "miniwget.h"
    3736
    3837/* miniwget2() :
     
    8685        dest.sin_family = AF_INET;
    8786        dest.sin_port = htons(port);
     87        n = connect(s, (struct sockaddr *)&dest, sizeof(struct sockaddr_in));
    8888#ifdef MINIUPNPC_IGNORE_EINTR
    89         do {
    90 #endif
    91                 n = connect(s, (struct sockaddr *)&dest, sizeof(struct sockaddr_in));
    92 #ifdef MINIUPNPC_IGNORE_EINTR
    93         } while(n < 0 && errno == EINTR);
     89        while(n < 0 && errno == EINTR)
     90        {
     91                socklen_t len;
     92                fd_set wset;
     93                int err;
     94                FD_ZERO(&wset);
     95                FD_SET(s, &wset);
     96                if((n = select(s + 1, NULL, &wset, NULL, NULL)) == -1 && errno == EINTR)
     97                        continue;
     98                /*len = 0;*/
     99                /*n = getpeername(s, NULL, &len);*/
     100                len = sizeof(err);
     101                if(getsockopt(s, SOL_SOCKET, SO_ERROR, &err, &len) < 0) {
     102                        perror("getsockopt");
     103                        closesocket(s);
     104                        return NULL;
     105                }
     106                if(err != 0) {
     107                        errno = err;
     108                        n = -1;
     109                }
     110        }
    94111#endif
    95112        if(n<0)
  • trunk/third-party/miniupnp/minixml.c

    r8962 r9166  
    3636 * return 0 (false) in case of success and -1 (true) if the end
    3737 * of the xmlbuffer is reached. */
    38 static int parseatt(struct xmlparser * p)
     38int parseatt(struct xmlparser * p)
    3939{
    4040        const char * attname;
     
    107107/* parseelt parse the xml stream and
    108108 * call the callback functions when needed... */
    109 static void parseelt(struct xmlparser * p)
     109void parseelt(struct xmlparser * p)
    110110{
    111111        int i;
  • trunk/third-party/miniupnp/updateminiupnpcstrings.sh

    r8863 r9166  
    11#! /bin/sh
    2 # $Id: updateminiupnpcstrings.sh,v 1.3 2009/07/09 16:13:31 nanard Exp $
     2# $Id: updateminiupnpcstrings.sh,v 1.4 2009/07/29 08:34:01 nanard Exp $
    33
    44TEMPLATE_FILE=$1
     
    3535test -f ${TEMPLATE_FILE}
    3636echo "setting OS_STRING macro value to ${OS_NAME}/${OS_VERSION} in $OUTPUT_FILE."
    37 sed "$EXPR" <"$TEMPLATE_FILE" >"$OUTPUT_FILE"
     37sed -e "$EXPR" < $TEMPLATE_FILE > $OUTPUT_FILE
    3838
Note: See TracChangeset for help on using the changeset viewer.