6924e68e11
fail with "bind: address already in use". This problem was reported to the freebsd-stable@ mailing list on Feb. 19 under the subject heading "statd/lockd startup failure" by george+freebsd at m5p dot com. The problem is that the first combination of {udp,tcp X ipv4,ipv6} would select a port# dynamically, but one of the other three combinations would have that port# already in use. The patch is somewhat involved because it was requested by dougb@ that the four combinations use the same port# wherever possible. The patch splits the create_service() function into two functions. The first goes as far as bind(2) in a loop for up to GETPORT_MAXTRY - 1 times, attempting to use the same port# for all four cases. If these attempts fail, the last attempt allows the 4 cases to use different port #s. After this function has succeeded, the second function, called complete_service(), does the rest of what create_service() did. The three daemons mountd, rpc.lockd and rpc.statd all have a create_service() function that is patched in a similar way. However, create_service() has non-trivial differences for the three daemons that made it impractical to share the same functions between them. Reviewed by: jhb MFC after: 2 weeks |
||
---|---|---|
.. | ||
ac | ||
accton | ||
acpi | ||
adduser | ||
amd | ||
ancontrol | ||
apm | ||
apmd | ||
arp | ||
asf | ||
audit | ||
auditd | ||
auditreduce | ||
authpf | ||
bluetooth | ||
boot0cfg | ||
boot98cfg | ||
bootparamd | ||
bsdinstall | ||
bsnmpd | ||
btxld | ||
burncd | ||
cdcontrol | ||
chkgrp | ||
chown | ||
chroot | ||
ckdist | ||
clear_locks | ||
config | ||
cpucontrol | ||
crashinfo | ||
cron | ||
crunch | ||
ctm | ||
cxgbtool | ||
daemon | ||
dconschat | ||
devinfo | ||
digictl | ||
diskinfo | ||
dnssec-dsfromkey | ||
dnssec-keyfromlabel | ||
dnssec-keygen | ||
dnssec-signzone | ||
dumpcis | ||
editmap | ||
edquota | ||
eeprom | ||
extattr | ||
extattrctl | ||
faithd | ||
fdcontrol | ||
fdformat | ||
fdread | ||
fdwrite | ||
fifolog | ||
flowctl | ||
freebsd-update | ||
ftp-proxy | ||
fwcontrol | ||
getfmac | ||
getpmac | ||
gpioctl | ||
gssd | ||
gstat | ||
i2c | ||
ifmcstat | ||
inetd | ||
iostat | ||
ip6addrctl | ||
ipfwpcap | ||
IPXrouted | ||
jail | ||
jexec | ||
jls | ||
kbdcontrol | ||
kbdmap | ||
keyserv | ||
kgmon | ||
kgzip | ||
kldxref | ||
lastlogin | ||
lmcconfig | ||
lpr | ||
lptcontrol | ||
mailstats | ||
mailwrapper | ||
makefs | ||
makemap | ||
manctl | ||
memcontrol | ||
mergemaster | ||
mfiutil | ||
mixer | ||
mld6query | ||
mlxcontrol | ||
mount_nwfs | ||
mount_portalfs | ||
mount_smbfs | ||
mountd | ||
moused | ||
mptable | ||
mptutil | ||
mtest | ||
mtree | ||
named | ||
named-checkconf | ||
named-checkzone | ||
named.reload | ||
ndiscvt | ||
ndp | ||
newsyslog | ||
nfscbd | ||
nfsd | ||
nfsdumpstate | ||
nfsrevoke | ||
nfsuserd | ||
ngctl | ||
nghook | ||
nologin | ||
nscd | ||
ntp | ||
nvram | ||
ofwdump | ||
pc-sysinstall | ||
pciconf | ||
periodic | ||
pkg_install | ||
pmcannotate | ||
pmccontrol | ||
pmcstat | ||
pnpinfo | ||
portsnap | ||
powerd | ||
ppp | ||
pppctl | ||
praliases | ||
praudit | ||
procctl | ||
pstat | ||
pw | ||
pwd_mkdb | ||
quot | ||
quotaon | ||
rarpd | ||
repquota | ||
rip6query | ||
rmt | ||
rndc | ||
rndc-confgen | ||
route6d | ||
rpc.lockd | ||
rpc.statd | ||
rpc.umntall | ||
rpc.yppasswdd | ||
rpc.ypupdated | ||
rpc.ypxfrd | ||
rpcbind | ||
rrenumd | ||
rtadvd | ||
rtprio | ||
rtsold | ||
rwhod | ||
sa | ||
sade | ||
sendmail | ||
service | ||
services_mkdb | ||
setfib | ||
setfmac | ||
setpmac | ||
sicontrol | ||
smbmsg | ||
snapinfo | ||
spkrtest | ||
spray | ||
sysinstall | ||
syslogd | ||
tcpdchk | ||
tcpdmatch | ||
tcpdrop | ||
tcpdump | ||
timed | ||
traceroute | ||
traceroute6 | ||
trpt | ||
tzsetup | ||
uathload | ||
ugidfw | ||
uhsoctl | ||
usbconfig | ||
usbdump | ||
utxrm | ||
vidcontrol | ||
vipw | ||
wake | ||
watch | ||
watchdogd | ||
wlandebug | ||
wlconfig | ||
wpa | ||
yp_mkdb | ||
ypbind | ||
yppoll | ||
yppush | ||
ypserv | ||
ypset | ||
zic | ||
zzz | ||
Makefile | ||
Makefile.amd64 | ||
Makefile.arm | ||
Makefile.i386 | ||
Makefile.ia64 | ||
Makefile.inc | ||
Makefile.mips | ||
Makefile.powerpc | ||
Makefile.sparc64 |