GOMEZ Henri wrote:
> I allways use read/write on Unix instead of recv/send.
> It works way better.

Why better?
recv/send on BS2000 goes directly to the network through the socket libraries 
and read/write does with an additional POSIX layer.


> 
> -
> Henri Gomez                 ___[_]____
> EMAIL : [EMAIL PROTECTED]        (. .)                     
> PGP KEY : 697ECEDD    ...oOOo..(_)..oOOo...
> PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 
> 
> 
> 
> 
>>-----Original Message-----
>>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>>Sent: Sunday, June 23, 2002 8:56 AM
>>To: [EMAIL PROTECTED]
>>Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/common
>>jk_channel_socket.c
>>
>>
>>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_channe
>>l_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]>
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 
> 




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to