mturk 2002/06/22 23:55:56 Modified: jk/native2/common jk_channel_socket.c Log: Costin changed it to use read/write instead of send/receive. Unfortunaly that doesn't work on WIN32 cause read/write cannot operate on sockets. Perhaps we shoud reverse that unless there is a strong reason to use the read/write on unix. Revision Changes Path 1.35 +20 -2 jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c Index: jk_channel_socket.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- jk_channel_socket.c 20 Jun 2002 18:45:01 -0000 1.34 +++ jk_channel_socket.c 23 Jun 2002 06:55:55 -0000 1.35 @@ -355,9 +355,13 @@ len=msg->len; b=msg->buf; - + while(sent < len) { +#ifdef WIN32 + int this_time = send(sd, (char *)b + sent , len - sent, 0); +#else int this_time = write(sd, (char *)b + sent , len - sent); +#endif if(0 == this_time) { return -2; } @@ -393,9 +397,16 @@ if( sd<0 ) return JK_ERR; while(rdlen < len) { +#ifdef WIN32 + /* WIN32 read cannot operate on sockets */ + int this_time = recv(sd, + (char *)b + rdlen, + len - rdlen, 0); +#else int this_time = read(sd, (char *)b + rdlen, len - rdlen); +#endif if(-1 == this_time) { #ifdef WIN32 if(SOCKET_ERROR == this_time) { @@ -430,9 +441,16 @@ if( sd<0 ) return JK_ERR; while(rdlen < minLen ) { +#ifdef WIN32 + /* WIN32 read cannot operate on sockets */ + int this_time = recv(sd, + (char *)b + rdlen, + maxLen - rdlen, 0); +#else int this_time = read(sd, (char *)b + rdlen, - maxLen - rdlen); + maxLen - rdlen); +#endif /* fprintf(stderr, "XXX received %d\n", this_time ); */ if(-1 == this_time) { #ifdef WIN32
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>