> On March 18, 2014, 6:39 p.m., Ian Downes wrote: > > 3rdparty/libprocess/src/subprocess.cpp, line 165 > > <https://reviews.apache.org/r/19259/diff/2/?file=520576#file520576line165> > > > > what about either exec command *or* call child function (which can > > choose to exec{l,le,...}) > > Till Toenshoff wrote: > I like this idea a lot as it also gives the caller full control of the > actual invocation (e.g. via /bin/sh or not via using execv(e)).
I think there are use cases where it would be nice to just do some 'setup' after fork but before exec, so I'm not convinced we should do an *or* because that means we'll be asking everyone to do their own 'exec*(...)' which is kind of a pain. At least for now, let's go with an async-signal-safe 'setup' and then exec'ing the 'command' via /bin/sh. - Benjamin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/19259/#review37588 ----------------------------------------------------------- On March 16, 2014, 11:05 a.m., Till Toenshoff wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/19259/ > ----------------------------------------------------------- > > (Updated March 16, 2014, 11:05 a.m.) > > > Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and > Ian Downes. > > > Bugs: MESOS-1102 > https://issues.apache.org/jira/browse/MESOS-1102 > > > Repository: mesos-git > > > Description > ------- > > Adds the ability to process::subprocess to run a function (lambda) within the > child context, after fork and before exec. > > NOTE: Such lambda must not contain any async unsafe code. For details on > async safety, see POSIX.1-2004 on async-signal-safe functions, also > referenced in the signal man-pages: > http://man7.org/linux/man-pages/man7/signal.7.html. > > > Diffs > ----- > > 3rdparty/libprocess/include/process/subprocess.hpp > d16cbc1e3d464e1784f116ccdb327cf0784f07c2 > 3rdparty/libprocess/src/subprocess.cpp PRE-CREATION > 3rdparty/libprocess/src/tests/subprocess_tests.cpp > d15d4d159105474117c4ea432b215431209ab539 > > Diff: https://reviews.apache.org/r/19259/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Till Toenshoff > >
