Index: ossp-pkg/sa/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/sa/ChangeLog,v rcsdiff -q -kk '-r1.35' '-r1.36' -u '/v/ossp/cvs/ossp-pkg/sa/ChangeLog,v' 2>/dev/null --- ChangeLog 2004/04/02 18:50:06 1.35 +++ ChangeLog 2004/06/11 10:30:34 1.36 @@ -11,6 +11,11 @@ This is a list of all changes to OSSP sa. For a more brief summary please have a look at the NEWS file. + Changes between 1.2.0 and 1.2.1 (02-Apr-2003 to 11-Jun-2004) + + o Fix timeout implementation related to SO_RCVTIMEO/SO_SNDTIMEO. + [Ralf S. Engelschall, Thomas Lotterer] + Changes between 1.1.0 and 1.2.0 (10-Nov-2003 to 02-Apr-2004) o In sa_connect() also select(2) on the socket if EINTR was Index: ossp-pkg/sa/sa.c RCS File: /v/ossp/cvs/ossp-pkg/sa/sa.c,v rcsdiff -q -kk '-r1.82' '-r1.83' -u '/v/ossp/cvs/ossp-pkg/sa/sa.c,v' 2>/dev/null --- sa.c 2004/04/02 18:49:42 1.82 +++ sa.c 2004/06/11 10:30:34 1.83 @@ -940,13 +940,13 @@ return SA_OK; #if defined(SO_RCVTIMEO) && defined(USE_SO_RCVTIMEO) && defined(SO_SNDTIMEO) && defined(USE_SO_SNDTIMEO) - if (SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_READ])) { + if (!SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_READ])) { if (setsockopt(sa->fdSocket, SOL_SOCKET, SO_RCVTIMEO, (const void *)(&sa->tvTimeout[SA_TIMEOUT_READ]), (socklen_t)(sizeof(sa->tvTimeout[SA_TIMEOUT_READ]))) < 0) return SA_RC(SA_ERR_SYS); } - if (SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_WRITE])) { + if (!SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_WRITE])) { if (setsockopt(sa->fdSocket, SOL_SOCKET, SO_SNDTIMEO, (const void *)(&sa->tvTimeout[SA_TIMEOUT_WRITE]), (socklen_t)(sizeof(sa->tvTimeout[SA_TIMEOUT_WRITE]))) < 0)