Ignore:
Timestamp:
May 5, 2000, 8:22:23 PM (25 years ago)
Author:
sandervl
Message:

send/receive bufsize setsockopt bugfix for 16 bits tcpip stack

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wsock32/wsock32.cpp

    r3487 r3498  
    1 /* $Id: wsock32.cpp,v 1.29 2000-05-03 18:34:26 sandervl Exp $ */
     1/* $Id: wsock32.cpp,v 1.30 2000-05-05 18:22:23 sandervl Exp $ */
    22
    33/*
     
    891891tryagain:
    892892                ret = setsockopt(s,level,optname, (char *)&size, sizeof(ULONG));
    893                 if(ret == SOCKET_ERROR && size > 65535) {
    894                         dprintf(("setsockopt: change size from %d to 65000", size));
     893                if(ret == SOCKET_ERROR && wsaErrno() == WSAENOBUFS && size > 4096) {
     894                        int newsize = (size > 65535) ? 63*1024 : (size-1024);
     895                        dprintf(("setsockopt: change size from %d to %d", size, newsize));
    895896                        //SvL: Limit send & receive buffer length to 64k
    896897                        //     (only happens with 16 bits tcpip stack?)
    897                         size = 65000;
     898                        size = newsize;
    898899                        goto tryagain;
    899900                }
Note: See TracChangeset for help on using the changeset viewer.