[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