diff options
author | yar <yar@FreeBSD.org> | 2005-01-19 10:33:20 +0000 |
---|---|---|
committer | yar <yar@FreeBSD.org> | 2005-01-19 10:33:20 +0000 |
commit | e3e66eec0c7051bf431d437a86de9c341bef0600 (patch) | |
tree | 0bc64d13854d57ce2e8568a7c36ae82f8a55fd1a /secure/usr.bin | |
parent | 9b97f739fd57bee8c7ed09ccb12f25535ff3c339 (diff) | |
download | FreeBSD-src-e3e66eec0c7051bf431d437a86de9c341bef0600.zip FreeBSD-src-e3e66eec0c7051bf431d437a86de9c341bef0600.tar.gz |
Improve handling SIGURG and OOB commands on the control channel.
The major change is to process STAT sent as an OOB command w/o
breaking the current data transfer. As a side effect, this gives
better error checking in the code performing data transfers.
A lesser, but in no way cosmetic, change is using the flag `recvurg'
in the only signal-safe way that has been blessed by SUSv3. The
other flag, `transflag,' becomes private to the SIGURG machinery,
serves debugging purposes only, and may be dropped in the future.
The `byte_count' global variable is now accounting bytes actually
transferred over the network. This can give status messages looking
strange, like "X of Y bytes transferred," where X > Y, but that has
more sense than trying to compensate for combinations of data formats
on the server and client when transferring ASCII type data. BTW,
getting the size of a file in advance is unreliable for a number of
reasons in the first place. See question 18.8 of the Infrequently
Asked Questions in comp.lang.c for details.
PR: bin/52072
Tested by: Nick Leuta (earlier versions), a stress-testing tool (final)
MFC after: 1 month
Diffstat (limited to 'secure/usr.bin')
0 files changed, 0 insertions, 0 deletions