[xio-commit] CVS update: MODIFIED: udt_ref ...

John Bresnahan commit at globus.org
Tue Oct 24 12:02:54 CDT 2006


  User: bresnaha
  Date: 06/10/24 12:02:54

  Modified:    drivers/udt_ref globus_xio_udt_ref.cpp
  Log:
  patches to work with gridftp server
  
  Revision  Changes    Path
  1.3       +13 -10    xio/drivers/udt_ref/globus_xio_udt_ref.cpp
  
  http://viewcvs.globus.org/viewcvs.cgi/xio/drivers/udt_ref/globus_xio_udt_ref.cpp.diff?r1=1.2&r2=1.3
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: globus_xio_udt_ref.cpp
  ===================================================================
  RCS file: /home/globdev/CVS/globus-packages/xio/drivers/udt_ref/globus_xio_udt_ref.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- globus_xio_udt_ref.cpp	14 Mar 2006 06:58:18 -0000	1.2
  +++ globus_xio_udt_ref.cpp	24 Oct 2006 17:02:54 -0000	1.3
  @@ -487,27 +487,30 @@
   {
       globus_result_t                     result;
       xio_l_udt_ref_handle_t *            handle;
  +    int                                 rc;
       GlobusXIOName(globus_l_xio_udt_ref_read);
   
       handle = (xio_l_udt_ref_handle_t *) driver_specific_handle;
   
  -    *nbytes = (globus_size_t) UDT::recv(
  +    rc = (globus_size_t) UDT::recv(
           handle->sock, (char *)iovec[0].iov_base, iovec[0].iov_len, 0);
  -
  -    /* need to figure out eof */
  -    if(*nbytes < 0)
  +    if(rc == UDT::ERROR)
       {
  -        result = GlobusXIOUdtError("UDT::recv failed");
  -        goto error;
  +        if(UDT::getlasterror().getErrorCode() == 2001) /* this seems to mean EOF */
  +        {
  +            result = GlobusXIOErrorEOF();
       }
  -    if(*nbytes == 0)
  +        else
       {
  -        result = GlobusXIOUdtError("UDT::recv EOF?");
  +            result = GlobusXIOUdtError(UDT::getlasterror().getErrorMessage());
  +        }
           goto error;
       }
  +    *nbytes = (globus_size_t) rc;
   
       return GLOBUS_SUCCESS;
   error:
  +    *nbytes = 0;
       return result;
   }
   
  
  
  




More information about the xio-commit mailing list