TODO updates.
authorDavin McCall <davmac@davmac.org>
Mon, 6 Jun 2016 23:30:20 +0000 (00:30 +0100)
committerDavin McCall <davmac@davmac.org>
Mon, 6 Jun 2016 23:30:20 +0000 (00:30 +0100)
TODO

diff --git a/TODO b/TODO
index 07e9236e379a73fdc1367a563dd5766f3313447f..2d6295e111711ba8cdeea079d734caafce2f7ae1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,21 @@
-* CPBuffer: cleanup methods a bit (fix API)
+* BGPROCESS services:
+  - document security issue if pid file is not correctly protected (via access
+    rights/ownership).
+  - consider using ptrace to attach to process (if not a direct child - which we can
+    check with a probe waitpid() call); this allows us to get status of non-child
+    processes. Probably need dasynq changes.
+  - currently we break if the process is not a child; we'll never see it die. Even
+    if we don't attach with ptrace, we should waitpid()-probe it at stop (and then
+    potentially assume it's exited if we can't otherwise check).
+
+* libev replacement:
+  - We've replaced libev, so that we don't abort on failure. But now exceptions
+    can be thrown when we register an event watch - need to handle these.
+  - Control socket handling needs to be reworked.
+  - Service I/O / child process waits need to be audited.
+
+* Long-running "on console" services will back up the circular log buffer.
+  The buffer should just be flushed instead.
 * When a PROCESS service process dies, and smooth_recovery is false, probably
   need to force-stop dependents even if the process itself was stopped
   deliberately.
   - support for listing all services
 * Implement a control utility to start/stop services after dinit has started
   - very basic version exists, needs thorough cleanup
-* We've replaced libev, so that we don't abort on failure. But now exceptions
-  can be thrown when we register an event watch - need to handle these.
 
 For version 1.0:
 ----------------
 * Log messages need to be duplicated to file (or to a logging process) once the
   file system comes up read/write.
-* Log messages are completely prevented from going to the console if the console
-  is being held by a service, meaning some can get lost. It would be better if
-  there was a (limited) buffer.
 * Perhaps need a way to prevent script services from re-starting.
   (eg there's no need to mount filesystems twice; there might be various other
    system initialisations that can't or shouldn't really be "undone" and so do