summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2011-06-02 20:15:32 +0000
committerrmacklem <rmacklem@FreeBSD.org>2011-06-02 20:15:32 +0000
commit985e3cbf51f6f8c669135a6449efb98d7bbd6bf8 (patch)
tree6329d6fab3a2a489f2fa60376cd67ea3226de6df /contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp
parente0b83a11c69f06796e47b3ee662f3d21ba3a9c7e (diff)
downloadFreeBSD-src-985e3cbf51f6f8c669135a6449efb98d7bbd6bf8.zip
FreeBSD-src-985e3cbf51f6f8c669135a6449efb98d7bbd6bf8.tar.gz
Fix the nfs related daemons so that they don't intermittently
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
Diffstat (limited to 'contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud