mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-19 02:29:40 +00:00
502b7cf99b
readip() doesn't, at the moment, properly indicate to callers that it has timed out. One can tell that it's timed out if errno == EAGAIN when it returns, but this is not ideal. Restructure it a little bit to explicitly set errno to ETIMEDOUT if we've exhausted tleft. I found two places that care about where it timed out or not: sendrecv in net.c and sendrecv_tftp. Both are structured to pass smaller timeout values to readip while tracking a larger timeout. Neither of them were able to do this properly with readip not indicating ETIMEDOUT, so fix it. While here, straighten out the time (t/t1) usage in sendrecv_tftp. This would have manifested itself in periodic failures to NFS/TFTP boot for no apparent reason because MINTMO/MAXTMO were not actually being respected properly. Problems were not reported with NFS, only TFTP. Reported by: sbruno Reviewed by: sbruno, tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D14350 |
||
---|---|---|
.. | ||
arm | ||
arm64 | ||
common | ||
efi | ||
fdt | ||
ficl | ||
ficl32 | ||
forth | ||
geli | ||
i386 | ||
kshim | ||
liblua | ||
liblua32 | ||
libsa | ||
libsa32 | ||
lua | ||
man | ||
mips | ||
ofw | ||
powerpc | ||
sparc64 | ||
uboot | ||
usb | ||
userboot | ||
zfs | ||
zfs32 | ||
defs.mk | ||
fdt.mk | ||
ficl.mk | ||
loader.mk | ||
lua.mk | ||
Makefile | ||
Makefile.amd64 | ||
Makefile.arm | ||
Makefile.arm64 | ||
Makefile.i386 | ||
Makefile.inc | ||
Makefile.mips | ||
Makefile.powerpc | ||
Makefile.sparc64 | ||
uboot.mk |