Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 2003 02:08:58 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Igor Sysoev <is@rambler-co.ru>
Cc:        arch@freebsd.org
Subject:   Re: sendfile(2) SF_NOPUSH flag proposal
Message-ID:  <3ED47CAA.30B03B8E@mindspring.com>
References:  <Pine.BSF.4.21.0305281140420.50420-100000@is>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3ED47CAA.30B03B8E>