From: Wietse Venema (no email)
Date: Mon Dec 01 2003 - 09:46:39 EST
:
> On Mon, 1 Dec 2003, Wietse Venema wrote:
>
> > > The NetBSD folks may put together a suitable small test program (that
> > > emulates the queue manager and a concurrency limited set of delivery
> > > agents). If we find enough testers to cover all supported platforms would
> > > that be enough to make the change in a snapshot after 2.1?
> >
> > This change to Postfix shall be platform and version dependent.
> >
> > There is no reason to make retroactive platform or version
> > indepedent changes to Postfix.
>
> This is consistent with my expectations. So at this time nothing needs to
> or will be changed. I would change the code to always make non-blocking
> connect() calls, but I am less conservative than you, and it is probably
> someone as reckless as I who caused the brief NetBSD fiasco! :-)
Never make untested retroactive changes to system dependent code.
To give you an example, someone sent me a patch that changed the
default socket call length argument type, from int to socklen_t,
because that is POSIX compliant. I had to reject this because
Postfix would no longer compile on some of the supported systems.
Instead I added little blobs of code like this:
#if __NetBSD_Version__ >= 106000000 /* XXX */
#define SOCKADDR_SIZE socklen_t
#define SOCKOPT_SIZE socklen_t
#endif
The XXX is because they probably introduced this before NetBSD 1.6.
#if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
#define SOCKADDR_SIZE socklen_t
#define SOCKOPT_SIZE socklen_t
#endif
#endif
No XXX here because socklen_t was introduced with GLIBC version 2.1.
Wietse
|
|
|