From: Davin McCall Date: Mon, 6 Jun 2016 23:30:20 +0000 (+0100) Subject: TODO updates. X-Git-Tag: v0.02~7 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ecaeabff8ade7947018e4b9408c44f47e501e76d;p=oweals%2Fdinit.git TODO updates. --- diff --git a/TODO b/TODO index 07e9236..2d6295e 100644 --- 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. @@ -7,16 +24,11 @@ - 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