diff options
| author | Alexander Wirt <formorer@debian.org> | 2014-09-19 10:15:14 +0200 |
|---|---|---|
| committer | Alexander Wirt <formorer@debian.org> | 2014-09-19 10:15:14 +0200 |
| commit | c31a7efc19b438188e96cab1ca34116a51f3e914 (patch) | |
| tree | 38101c9c0d76567fe99608fe7c7c39e8070bd6e4 /src/main.c | |
| parent | 45669cfafbb57da51e1c0beeec392c380c6cd2cf (diff) | |
| parent | 9f760e5d3f6b44ecf5bb7144517e022fd987fa76 (diff) | |
| download | conntrack-tools-c31a7efc19b438188e96cab1ca34116a51f3e914.tar.gz conntrack-tools-c31a7efc19b438188e96cab1ca34116a51f3e914.zip | |
Merge tag 'upstream/1.4.2'
Upstream version 1.4.2
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -23,6 +23,7 @@ #include <sys/types.h> #include <sys/stat.h> +#include <errno.h> #include <fcntl.h> #include <sys/utsname.h> #include <string.h> @@ -112,6 +113,23 @@ set_action_by_table(int i, int argc, char *argv[], return i; } +static void +set_nice_value(int nv) +{ + errno = 0; + if (nice(nv) == -1 && errno) /* warn only */ + fprintf(stderr, "Cannot set nice level %d: %s\n", + nv, strerror(errno)); +} + +static void +do_chdir(const char *d) +{ + if (chdir(d)) + fprintf(stderr, "Cannot change current directory to %s: %s\n", + d, strerror(errno)); +} + int main(int argc, char *argv[]) { int ret, i, action = -1; @@ -356,7 +374,7 @@ int main(int argc, char *argv[]) /* * Setting process priority and scheduler */ - nice(CONFIG(nice)); + set_nice_value(CONFIG(nice)); if (CONFIG(sched).type != SCHED_OTHER) { struct sched_param schedparam = { @@ -382,7 +400,7 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } - chdir("/"); + do_chdir("/"); close(STDIN_FILENO); /* Daemonize conntrackd */ |
