Module Name:    src
Committed By:   uebayasi
Date:           Wed Aug 19 03:23:34 UTC 2015

Modified Files:
        src/usr.bin/config: TODO

Log Message:
+ pseudo(dev) attach


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/usr.bin/config/TODO

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/config/TODO
diff -u src/usr.bin/config/TODO:1.16 src/usr.bin/config/TODO:1.17
--- src/usr.bin/config/TODO:1.16	Fri Apr 10 03:51:44 2015
+++ src/usr.bin/config/TODO	Wed Aug 19 03:23:34 2015
@@ -285,3 +285,22 @@ o Namespace.
   module and its dependencies (selectattr()).  In other words, an option is
   only safely converted to a module (define), only if it doesn't depend on
   anything.  (One example is DDB.)
+
+o Convert pseudo(dev) attach functions to take (void) (== kernel ctors).
+
+  The pseudo attach function was originally designed to take `int n' as
+  the number of instances of the pseudo device.  Now most of pseudo
+  devices have been converted to be `cloneable', meaning that their
+  instances are dynamically allocated at run-time, because guessing how
+  much instances are needed for users at compile time is almost impossible.
+  Restricting such a pure software resource at compile time is senseless,
+  considering that the rest of the world is dynamic.
+
+  If pseudo attach functions once become (void), config(1) no longer
+  has to generate iteration to call those functions, by making them part
+  of kernel constructors, that are a list of (void) functions.
+
+  Some pseudo devices may have dependency/ordering problems, because
+  pseudo attach functions have no choice when to be called.  This could
+  be solved by converting to kctors, where functions are called in order
+  by dependency.

Reply via email to