Test scenario for sysctl kern.maxfiles
asomers at freebsd.org
Wed Mar 5 17:08:52 UTC 2014
On Wed, Mar 5, 2014 at 1:58 AM, Peter Holm <peter at holm.cc> wrote:
> Here's an attempt to verify that increasing kern.maxfiles works as
1) done should be of type "static volatile sig_atomic_t", not int,
because it's set by signal handlers.
2) using atexit() to register a cleanup routing is a hack. No doubt
you already noticed that it's difficult to use Kyua's builtin cleanup
capabilities because of the need to pass the value of oldmaxfiles. I
too have experienced that frustration. Is there any way to pass
values from the body of a testcase to its cleanup? Using
atf_tc_set_md_var() would be one way, but the man page suggests that
that function cannot be called from the body. Julio, is there a
better way to do this?
3) Why do you openfiles(oldmaxfiles + 50, 0) instead of just
openfiles(oldmaxfiles) ? It seems that the latter would also verify
4) openfiles(oldmaxfiles + 50, 0) will fail if there are already 950
open files. A quick check on freefall showed that kern.openfiles was
935. Perhaps you should try opening openfiles(oldmaxfiles -
kern.openfiles + 50, 0). That wouldn't be perfect, due to races, but
it would be better.
More information about the freebsd-testing