Shared libraries are not necessary

Ian G Batten igb at fulcrum.bt.co.uk
Thu May 23 18:04:42 AEST 1991


In article <7972 at auspex.auspex.com> guy at auspex.auspex.com (Guy Harris) writes:
> If UNIX routines had followed a Multics-like convention, the first
> parameter to "gethostbyname()" would be a version number or version
> string, with the host name a later parameter; old programs that expect a
> 4.2BSD-like interface would pass in a version number of 1, and would
> have the returned structure contain a pointer to one host address, and
> new programs that expect a 4.3BSD-like interface would pass in a version
> number of 2, and would have the returned structure contain a pointer to
> an array of pointers to host addresses.

I'm surprised that no one has pointed out the isomorphism between the
Multics calling convention (yes, I did hack Multics for a few years) and
the program/function/version number strategy of the (Sun) rpc mechanism.
That, to me, provides a fairly clean way for library routines to be
upgraded, possibly with changes to interface, while providing support
for callers that still want to use the older versions.

I've got a project for which about 60% of access to a set of routines
will be over the network and about 40% will be local.  I'm quite happy
to accept the overhead of making local remote procedure calls on that
40% in order to get the benefits seen above.

ian



More information about the Comp.unix.internals mailing list