Roland Mainz writes: > James Carlson wrote: > > Perhaps, but I see that as rather separate from the underlying issue > > that the original poster has. > > My comment was more about that high-level libraries and applications can > run into this problem without a good way to recover from the issue. > Originally we looked at using |sendfile()| for ksh93's libcmd "cat" > builtin but the lack of consistency on Solaris would require too many > exception and compliciated error handling (the code worked on Linux but > such a feature cannot be used on Solaris right now and therefore we > stopped at that point).
"Can run into," yes, but generally do not. The originally intended purpose for sendfile() was as a performance aid for web servers and the like. Those applications know very well what descriptors they're using and what the underlying transports are doing. They're not as ambiguous as the 'cat' case. I agree that it could be extended to be a lot more flexible. The original ARC cases for sendfile and sendfilev (2000/433 and 2000/279) discussed this very issue. The case owner pointed out that, besides targeting a particular application, the folks implementing it weren't prepared to test all the possible combinations of vnode types to make sure that they'd all work as expected, and thus they wanted to limit the scope as much as possible. (No, I'm not wild about that answer, but there you go ...) -- James Carlson, Solaris Networking <[EMAIL PROTECTED]> Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677 _______________________________________________ networking-discuss mailing list [email protected]
