sendfile(2) SF_NOPUSH flag proposal

Terry Lambert tlambert2 at mindspring.com
Wed May 28 02:11:37 PDT 2003


Igor Sysoev wrote:
> Really ?  I think that on NetBSD, Darwin, and MacOS X I would get:
> -----
> warning: implicit declaration of function `sendfile'

I think on NetBSD and OpenBSD, a single search-engine query
would show you three experimental implementations, all of
which have the FreeBSD syntax.

The Darwin/MacOS X is a no-brainer: someone will get around
to it eventually; the big barrier is external mbufs, and
those are really trivial to implement (IMO; I've done it on
three separate occasions in different code bases, now).


> On Solaris and Linux I will get:
> -----
> too many arguments to function `sendfile'

Yes, the argument lists aren't the same.  AIX and MVS both
have identical interfaces, though.


> sendfile() is very and very unportable interface.

I have no doubt that sendfile(2) will eventually be standardized
by some well-intentioned standards body, and that the standard
will not include implementation-bug-based flags definitions.


> And #define can hide any flags.

Code written that way is not portable, it has been ported.
There is a big difference.


Why are you so dead-set on adding crufty flags, when three
people who have been in that code before (I back-ported the
external mbuf code and sendfile to FreeBSD 4.2 and 4.3 at
one point; Matt has lived in that code; Peter had his nose
in for quite a while; etc.) say that it's broken, and the
correct thing to do is to fix it, not add a bunch of kludge
code to work around the bugs that shouldn't be there in the
first place?

-- Terry


More information about the freebsd-arch mailing list