server: fix server not exit issue on asus router
This commit is contained in:
@@ -348,7 +348,13 @@ case "$1" in
|
||||
fi
|
||||
|
||||
if [ ! -d "/proc/$pid" ]; then
|
||||
return 0;
|
||||
return 0
|
||||
fi
|
||||
|
||||
stat="$(cat /proc/${pid}/stat | awk '{print $3}' 2>/dev/null)"
|
||||
if [ "$stat" = "Z" ]; then
|
||||
$SLEEP $SLEEPTIME
|
||||
return 0
|
||||
fi
|
||||
|
||||
$SLEEP $SLEEPTIME 2>/dev/null
|
||||
|
||||
@@ -469,10 +469,15 @@ int main(int argc, char *argv[])
|
||||
char config_file[MAX_LINE_LEN];
|
||||
char pid_file[MAX_LINE_LEN];
|
||||
int signal_ignore = 0;
|
||||
sigset_t empty_sigblock;
|
||||
|
||||
safe_strncpy(config_file, SMARTDNS_CONF_FILE, MAX_LINE_LEN);
|
||||
safe_strncpy(pid_file, SMARTDNS_PID_FILE, MAX_LINE_LEN);
|
||||
|
||||
/* patch for Asus router: unblock all signal*/
|
||||
sigemptyset(&empty_sigblock);
|
||||
sigprocmask(SIG_SETMASK, &empty_sigblock, NULL);
|
||||
|
||||
while ((opt = getopt(argc, argv, "fhc:p:Svx")) != -1) {
|
||||
switch (opt) {
|
||||
case 'f':
|
||||
|
||||
Reference in New Issue
Block a user