Go to file
Bill Paul 217ae63218 Improve NIS performace of getservbyname() and getservbyport(). Both these
functions are implimented as wrappers around getservent(), which means it's
up to getservent() to do all the work. The NIS support in getservent()
only allows it to scan through the services.byname map one entry at a
time until it finds the requested service name/port. This can be painfully
slow due to the overhead involved (lots and lots of successive RPCs).

To fix this, we allow getservbyname() and getservbyport() to signal
getservent() that if NIS is turned on (there's a '+' in /etc/services),
the usual yp_first()/yp_next() linear search should be abandoned and
yp_match() used instead. This causes getservent() to immediately
locate the requested entry instead of wasting time groping through the
whole map.

The downside is that this trick is accomplished by exporting a couple of
pointers from getservent.c which getservbyname.c and getservbyport.c can
preset in order to tell getservent() what to do. If all three functions
were in the same source module, then the extra cruft could be delcared
static to avoid poluting the global symbol space. Maybe they should be
combined anyway. For now I've settled on prepending lots of underscores.
1996-06-01 04:40:42 +00:00
bin Use new yacc rules. (I'm fixing the tree as fast as I can :-) 1996-05-30 20:52:26 +00:00
eBones Localize time 1996-05-07 19:05:10 +00:00
etc Eliminate warning message and add big warnings about security holes 1996-05-22 05:43:30 +00:00
games Use new yacc rule. 1996-05-30 20:56:23 +00:00
gnu Reviewed by: joerg 1996-06-01 03:19:59 +00:00
include Protocol definitions for RIPv2. 1996-05-30 16:31:04 +00:00
lib Improve NIS performace of getservbyname() and getservbyport(). Both these 1996-06-01 04:40:42 +00:00
libexec Use the sysctl settable data port ranges rather than the statically 1996-05-31 03:10:25 +00:00
lkm ``mv'' -> ``mv -f'' 1996-05-07 23:19:49 +00:00
release Put .inf files directly into distributions so that sysinstall can find them. 1996-05-29 04:13:17 +00:00
sbin Return make_union, s-bit removed 1996-05-19 17:24:10 +00:00
secure Localize time 1996-05-07 19:05:10 +00:00
share Mention that the default update time of 30 seconds may be 1996-05-31 21:02:16 +00:00
sys Fix ioctl() operations...nasty typo 1996-05-31 17:35:07 +00:00
tools Don't look in libkern, it went away. 1995-12-29 01:51:23 +00:00
usr.bin yacc rules change. 1996-05-30 23:09:11 +00:00
usr.sbin Small touch-ups -- no functional changes. 1996-05-31 16:01:51 +00:00
COPYRIGHT
Makefile 1) make -DCLOBBER not remove most of /usr/lib 1996-05-04 07:12:07 +00:00