Page MenuHomeFreeBSD

sysctl: don't loop when EAGAIN is returned
ClosedPublic

Authored by tuexen on Wed, Oct 7, 3:13 PM.
Tags
None
Referenced Files
F175236696: D60444.id.diff
Fri, Oct 9, 8:10 AM
F175211821: D60444.id189049.diff
Fri, Oct 9, 3:35 AM
F175211752: D60444.id188978.diff
Fri, Oct 9, 3:34 AM
F175211689: D60444.id.diff
Fri, Oct 9, 3:34 AM
F175202588: D60444.id189049.diff
Fri, Oct 9, 1:54 AM
F175201310: D60444.id188978.diff
Fri, Oct 9, 1:40 AM
Unknown Object (File)
Thu, Oct 8, 3:27 PM
Unknown Object (File)
Thu, Oct 8, 1:02 PM
Subscribers

Details

Summary

When userland_sysctl() experiences EAGAIN, don't loop internally but leave retrying to the caller.

Looping was a problem in case of using tcpsso(8) to switch a TCP stack where the acceptance check of the new TCP stack results in EAGAIN.

MFC to: stable/15

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

tuexen requested review of this revision.Wed, Oct 7, 3:13 PM

Please include in the commit log references to the original phk's commit hashes and maybe our discussion in D60281.

At least state that this change is direct revert of 7a69d9230f834f562d2c5c36c837e67eacdf5ab3 from 1996.

This revision is now accepted and ready to land.Wed, Oct 7, 4:51 PM
This revision was automatically updated to reflect the committed changes.