aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-11-30 12:21:14 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-11-30 12:21:14 +0000
commitb98e8a68962501c8a585e00399204fceb3ebb87c (patch)
tree9fa9ec1e136dee9036e3edf09502ebf5d451cdf0
parent3d13531866bf9de3b7dddeb9ad86d99ed557c74d (diff)
downloadpingu-b98e8a68962501c8a585e00399204fceb3ebb87c.tar.bz2
pingu-b98e8a68962501c8a585e00399204fceb3ebb87c.tar.xz
pingu: exit failed route-script forks
and don't try execute at all if no route-script is specified.
-rw-r--r--pingu.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pingu.c b/pingu.c
index 4c33c54..f85fa58 100644
--- a/pingu.c
+++ b/pingu.c
@@ -265,6 +265,10 @@ void exec_route_change(struct provider_list *head)
char **args;
int i = 0, status;
pid_t pid;
+
+ if (default_route_script == NULL)
+ return;
+
SLIST_FOREACH(p, head, provider_list) {
i++;
}
@@ -286,7 +290,7 @@ void exec_route_change(struct provider_list *head)
case 0:
execvp(default_route_script, args);
log_perror(args[0]);
- break;
+ exit(1);
default:
wait(&status);
}