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]>

Reply via email to