summaryrefslogtreecommitdiffabout
path: root/src/process.cc
Unidiff
Diffstat (limited to 'src/process.cc') (more/less context) (show whitespace changes)
-rw-r--r--src/process.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/process.cc b/src/process.cc
index 96c874f..6d3b2a2 100644
--- a/src/process.cc
+++ b/src/process.cc
@@ -95,6 +95,7 @@ void process::launch(const string& id,configuration& config) {
95 // child 95 // child
96 try { 96 try {
97 setsid(); 97 setsid();
98 if(!group.empty()) {
98 if(user.empty()) { 99 if(user.empty()) {
99 if((getgid()!=gid) && setgid(gid)) 100 if((getgid()!=gid) && setgid(gid))
100 throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to setgid()"); 101 throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to setgid()");
@@ -102,6 +103,7 @@ void process::launch(const string& id,configuration& config) {
102 if(initgroups(user.c_str(),gid)) 103 if(initgroups(user.c_str(),gid))
103 throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to initgroups()"); 104 throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to initgroups()");
104 } 105 }
106 }
105 if(!chroot.empty()) { 107 if(!chroot.empty()) {
106 if(::chroot(chroot.c_str())) 108 if(::chroot(chroot.c_str()))
107 throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to chroot()"); 109 throw runtime_error(string(__PRETTY_FUNCTION__)+": failed to chroot()");