Changeset 667


Ignore:
Timestamp:
10/06/11 18:20:35 (8 months ago)
Author:
shiretu
Message:

-- fixed critical file descriptors leaks
-- properly use CLOSE_SOCKET() instead of close()

Location:
trunk/sources
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/androidapplestreaming/src/variantconnection.cpp

    r168 r667  
    9393void VariantConnection::Close() { 
    9494        if (_fd > 0) { 
    95                 close(_fd); 
     95                CLOSE_SOCKET(_fd); 
    9696                _fd = 0; 
    9797        } 
  • trunk/sources/thelib/include/netio/epoll/tcpconnector.h

    r637 r667  
    5656                } 
    5757                if (_closeSocket) { 
    58                         close(_inboundFd); 
     58                        CLOSE_SOCKET(_inboundFd); 
    5959                } 
    6060        } 
     
    113113 
    114114                if (!setFdOptions(fd)) { 
     115                        CLOSE_SOCKET(fd); 
    115116                        T::SignalProtocolCreated(NULL, customParameters); 
    116117                        FATAL("Unable to set socket options"); 
  • trunk/sources/thelib/include/netio/kqueue/tcpconnector.h

    r637 r667  
    5757                } 
    5858                if (_closeSocket) { 
    59                         close(_inboundFd); 
     59                        CLOSE_SOCKET(_inboundFd); 
    6060                } 
    6161        } 
     
    114114 
    115115                if (!setFdOptions(fd)) { 
     116                        CLOSE_SOCKET(fd); 
    116117                        T::SignalProtocolCreated(NULL, customParameters); 
    117118                        FATAL("Unable to set socket options"); 
  • trunk/sources/thelib/include/netio/select/tcpconnector.h

    r637 r667  
    107107 
    108108                if (!setFdOptions(fd)) { 
     109                        CLOSE_SOCKET(fd); 
    109110                        T::SignalProtocolCreated(NULL, customParameters); 
    110111                        FATAL("Unable to set socket options"); 
  • trunk/sources/thelib/src/netio/epoll/tcpacceptor.cpp

    r637 r667  
    5151 
    5252TCPAcceptor::~TCPAcceptor() { 
    53         close(_inboundFd); 
     53        CLOSE_SOCKET(_inboundFd); 
    5454} 
    5555 
     
    156156        if (!setFdOptions(fd)) { 
    157157                FATAL("Unable to set socket options"); 
     158                CLOSE_SOCKET(fd); 
    158159                return false; 
    159160        } 
     
    163164        if (pProtocol == NULL) { 
    164165                FATAL("Unable to create protocol chain"); 
    165                 close(fd); 
     166                CLOSE_SOCKET(fd); 
    166167                return false; 
    167168        } 
  • trunk/sources/thelib/src/netio/epoll/tcpcarrier.cpp

    r637 r667  
    6262 
    6363TCPCarrier::~TCPCarrier() { 
    64         close(_inboundFd); 
     64        CLOSE_SOCKET(_inboundFd); 
    6565} 
    6666 
  • trunk/sources/thelib/src/netio/epoll/udpcarrier.cpp

    r642 r667  
    3838 
    3939UDPCarrier::~UDPCarrier() { 
    40         close(_inboundFd); 
     40        CLOSE_SOCKET(_inboundFd); 
    4141} 
    4242 
     
    164164                if (bindAddress.sin_addr.s_addr == INADDR_NONE) { 
    165165                        FATAL("Unable to bind on address %s:%hu", STR(bindIp), bindPort); 
    166                         close(sock); 
     166                        CLOSE_SOCKET(sock); 
    167167                        return NULL; 
    168168                } 
     
    190190                        FATAL("Unable to bind on address: udp://%s:%"PRIu16"; Error was: %s (%"PRId32")", 
    191191                                        STR(bindIp), bindPort, strerror(error), error); 
    192                         close(sock); 
     192                        CLOSE_SOCKET(sock); 
    193193                        return NULL; 
    194194                } 
     
    199199                        if (setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &group, sizeof (group)) < 0) { 
    200200                                FATAL("Adding multicast group error"); 
    201                                 close(sock); 
     201                                CLOSE_SOCKET(sock); 
    202202                                return NULL; 
    203203                        } 
  • trunk/sources/thelib/src/netio/kqueue/tcpacceptor.cpp

    r637 r667  
    4848 
    4949TCPAcceptor::~TCPAcceptor() { 
    50         close(_inboundFd); 
     50        CLOSE_SOCKET(_inboundFd); 
    5151} 
    5252 
     
    150150        if (!setFdOptions(fd)) { 
    151151                FATAL("Unable to set socket options"); 
     152                CLOSE_SOCKET(fd); 
    152153                return false; 
    153154        } 
     
    158159        if (pProtocol == NULL) { 
    159160                FATAL("Unable to create protocol chain"); 
    160                 close(fd); 
     161                CLOSE_SOCKET(fd); 
    161162                return false; 
    162163        } 
  • trunk/sources/thelib/src/netio/kqueue/tcpcarrier.cpp

    r637 r667  
    6060 
    6161TCPCarrier::~TCPCarrier() { 
    62         close(_inboundFd); 
     62        CLOSE_SOCKET(_inboundFd); 
    6363} 
    6464 
  • trunk/sources/thelib/src/netio/kqueue/udpcarrier.cpp

    r642 r667  
    3636 
    3737UDPCarrier::~UDPCarrier() { 
    38         close(_inboundFd); 
     38        CLOSE_SOCKET(_inboundFd); 
    3939} 
    4040 
     
    159159                if (bindAddress.sin_addr.s_addr == INADDR_NONE) { 
    160160                        FATAL("Unable to bind on address %s:%hu", STR(bindIp), bindPort); 
    161                         close(sock); 
     161                        CLOSE_SOCKET(sock); 
    162162                        return NULL; 
    163163                } 
     
    185185                        FATAL("Unable to bind on address: udp://%s:%"PRIu16"; Error was: %s (%"PRId32")", 
    186186                                        STR(bindIp), bindPort, strerror(error), error); 
    187                         close(sock); 
     187                        CLOSE_SOCKET(sock); 
    188188                        return NULL; 
    189189                } 
     
    194194                        if (setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &group, sizeof (group)) < 0) { 
    195195                                FATAL("Adding multicast group error"); 
    196                                 close(sock); 
     196                                CLOSE_SOCKET(sock); 
    197197                                return NULL; 
    198198                        } 
  • trunk/sources/thelib/src/netio/select/tcpacceptor.cpp

    r637 r667  
    151151        if (!setFdOptions(fd)) { 
    152152                FATAL("Unable to set socket options"); 
     153                CLOSE_SOCKET(fd); 
    153154                return false; 
    154155        } 
  • trunk/sources/thelib/src/netio/select/udpcarrier.cpp

    r642 r667  
    160160                if (bindAddress.sin_addr.s_addr == INADDR_NONE) { 
    161161                        FATAL("Unable to bind on address %s:%hu", STR(bindIp), bindPort); 
    162                         close(sock); 
     162                        CLOSE_SOCKET(sock); 
    163163                        return NULL; 
    164164                } 
     
    186186                        FATAL("Unable to bind on address: udp://%s:%"PRIu16"; Error was: %s (%"PRId32")", 
    187187                                        STR(bindIp), bindPort, strerror(error), error); 
    188                         close(sock); 
     188                        CLOSE_SOCKET(sock); 
    189189                        return NULL; 
    190190                } 
     
    195195                        if (setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &group, sizeof (group)) < 0) { 
    196196                                FATAL("Adding multicast group error"); 
    197                                 close(sock); 
     197                                CLOSE_SOCKET(sock); 
    198198                                return NULL; 
    199199                        } 
  • trunk/sources/thelib/src/protocols/rtp/connectivity/outboundconnectivity.cpp

    r584 r667  
    7070        } 
    7171        CLOSE_SOCKET(_videoDataFd); 
     72        CLOSE_SOCKET(_videoRTCPPort); 
    7273        CLOSE_SOCKET(_audioDataFd); 
     74        CLOSE_SOCKET(_audioRTCPPort); 
    7375} 
    7476 
Note: See TracChangeset for help on using the changeset viewer.