Actually, syscall oriented solutions merely move the problem around. You still wind up doing excessive numbers of syscalls. I would recommend providing the ability of using blocking sockets and let xrdcp run in blocking mode. Ideally, that would be with recv()+MSG_WAITALL (the most efficient option) but doing blocking reads could work as well with use of SO_RCVLOWAT and SO_RCVTIMEO setsockopt() setttings. While select/poll will dispatch you early (not ideal), at least you'll block until the right number of bytes arrive. --- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/20#issuecomment-18370820 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1