Chromium Code Reviews| Index: sandbox/linux/services/namespace_sandbox.h |
| diff --git a/sandbox/linux/services/namespace_sandbox.h b/sandbox/linux/services/namespace_sandbox.h |
| index 80097fb16afa625415070e8e581540e514e67abf..7c6bf6dfd3b6cd6f7661ee2a7bfb258819a7627c 100644 |
| --- a/sandbox/linux/services/namespace_sandbox.h |
| +++ b/sandbox/linux/services/namespace_sandbox.h |
| @@ -38,8 +38,6 @@ namespace sandbox { |
| class SANDBOX_EXPORT NamespaceSandbox { |
| public: |
| #if !defined(OS_NACL_NONSFI) |
| - static const int kDefaultExitCode = 1; |
| - |
| // Launch a new process inside its own user/PID/network namespaces (depending |
| // on kernel support). Requires at a minimum that user namespaces are |
| // supported (use Credentials::CanCreateProcessInNewUserNS to check this). |
| @@ -70,8 +68,8 @@ class SANDBOX_EXPORT NamespaceSandbox { |
| // |
| // SIGHUP, SIGINT, SIGABRT, SIGQUIT, SIGPIPE, SIGTERM, SIGUSR1, SIGUSR2 |
| // |
| - // that exits with kDefaultExitCode. These are signals whose default action is |
| - // to terminate the program (apart from SIGILL, SIGFPE, and SIGSEGV, which |
| + // that exits with SignalExitCode(sig). These are signals whose default action |
| + // is to terminate the program (apart from SIGILL, SIGFPE, and SIGSEGV, which |
| // will still terminate the process if e.g. an illegal instruction is |
| // encountered, etc.). |
| // |
| @@ -85,6 +83,8 @@ class SANDBOX_EXPORT NamespaceSandbox { |
| static bool InstallTerminationSignalHandler(int sig, int exit_code); |
| #endif // !defined(OS_NACL_NONSFI) |
| + static inline int SignalExitCode(int sig) { return -sig & 0xff; } |
|
jln (very slow on Chromium)
2015/06/09 21:18:10
Let's add a comment to describe this. Mention that
rickyz (no longer on Chrome)
2015/06/09 22:55:25
Done.
|
| + |
| // Returns whether the namespace sandbox created a new user, PID, and network |
| // namespace. In particular, InNewUserNamespace should return true iff the |
| // process was started via this class. |