-* 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