On Mon, Feb 23, 2009 at 7:06 PM, Jeff Oliver <jeffrey.oli...@panasonic.aero> wrote: > First off, I would say that there is no need to mount /proc, if its not > necessary. For the most part, job files, wouldn't even require /proc to be > mounted. Following on from that logic, there is only 1 place, that I can > see, that actually attempts to use a /proc file, when upstart changes the > oom_adj value. So, first check to see if the job file is even changing that > value, if not, /proc is not needed and skip that step. Second, if it does > need /proc, then what? You could simply fail the job, quietly ignore the > error, or mount proc? I guess that part is up for debate yet. > > It should not use system(), it opens itself up for other problems. > > Jeff > > Garrett Cooper wrote: > > On Mon, Feb 23, 2009 at 2:14 PM, Adam Sampson <a...@offog.org> wrote: > > > Scott James Remnant <sc...@netsplit.com> writes: > > > > Nobody has supplied a patch. > > > Well, here's what I'm using happily, but I suspect a little more finesse > would be useful. ;) > > http://offog.org/darcs/garstow/sys/upstart/files/mountproc.diff > > > Uh, that will almost certainly fail if it can't allocate a shell > because system(3) calls execve(2) and allocates a shell. > > Using mount(2), like so, would be better: > > #include <string.h> /* For strerror(3). */ > #include <errno.h> > #include <sys/mount.h> > #include <linux/kernel.h> /* For panic(2). */ > > /* ... */ > > if (mount("none", "/proc", "proc", 0, NULL) < 0) { > /* Change to OOM support not available, etc for this instead of a panic? > */ > panic ("Failed to mount /proc: %s\n", strerror(errno)); > } > > You'll potentially need to do similar for /dev and /dev/console > (we currently do that, but I'm not sure if /dev/console is needed...). > Combined with proper calls to fstab(5) with getent, this should be > solved properly in less than 30 lines. > Cheers, > -Garrett
Yeah, then I'd definitely just disable the oom adjustment logic then. Do you agree Scott? Thanks, -Garrett -- upstart-devel mailing list upstart-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel