+ if(logsys)
+ opensyslog();
+ if(root) {
+ if(chroot(root)) {
+ flog(LOG_ERR, "could not chroot to %s: %s", root, strerror(errno));
+ exit(1);
+ }
+ }
+ if(pwent) {
+ if(setgid(pwent->pw_gid)) {
+ flog(LOG_ERR, "could not switch group to %i: %s", (int)pwent->pw_gid, strerror(errno));
+ exit(1);
+ }
+ if(setuid(pwent->pw_uid)) {
+ flog(LOG_ERR, "could not switch user to %i: %s", (int)pwent->pw_uid, strerror(errno));
+ exit(1);
+ }
+ }
+ if(daemonize) {
+ daemon(0, 0);
+ }