summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--freebsd/sys/kern/kern_sysctl.c9
-rw-r--r--libbsd.txt2
2 files changed, 7 insertions, 4 deletions
diff --git a/freebsd/sys/kern/kern_sysctl.c b/freebsd/sys/kern/kern_sysctl.c
index a1270a5c..23cd6a70 100644
--- a/freebsd/sys/kern/kern_sysctl.c
+++ b/freebsd/sys/kern/kern_sysctl.c
@@ -1108,22 +1108,23 @@ sysctl_handle_opaque(SYSCTL_HANDLER_ARGS)
req2 = *req;
retry:
generation = curthread->td_generation;
+#else /* __rtems__ */
+ int error;
+#endif /* __rtems__ */
error = SYSCTL_OUT(req, arg1, arg2);
if (error)
return (error);
+#ifndef __rtems__
tries++;
if (generation != curthread->td_generation && tries < 3) {
*req = req2;
goto retry;
}
+#endif /* __rtems__ */
error = SYSCTL_IN(req, arg1, arg2);
return (error);
-#else /* __rtems__ */
- /* FIXME */
- return (0);
-#endif /* __rtems__ */
}
/*
diff --git a/libbsd.txt b/libbsd.txt
index 890c5cbf..f368b089 100644
--- a/libbsd.txt
+++ b/libbsd.txt
@@ -103,6 +103,8 @@ the current Git submodule commit is this
* TIMEOUT(9): Maybe use special task instead of timer server to call
callout_tick().
+* sysctl_handle_opaque(): Implement reliable snapshots.
+
[listing]
----
/* sysinit section? */