Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37907988
en ru br
Репозитории ALT
5.1: 3.6.4-alt2.rel3.2
4.1: 3.6.4-alt2.rel3
4.0: 3.6.1-alt1
3.0:
+backports:3.0-alt0.M30.4
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: ss5

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: ss5-daemon.patch
Скачать


--- 3.6.4.orig/ss5-3.6.4/src/SS5Server.c	2008-04-12 03:38:54 +0300
+++ 3.6.4/ss5-3.6.4/src/SS5Server.c	2008-04-12 03:41:23 +0300
@@ -140,28 +140,25 @@
 
 S5RetCode S5MakeDaemon( void )
 {
-  pid_t pid;
+  pid_t pid, sid;
 
   pid=fork();
-
-  /*    If father then exit    */
-  if( pid )
-    exit(0);
-  /*    If child then ontinue and become process group leader    */
-  else if( pid != -1 )
-    setsid(); 	
-  else
-    return ERR;
-
-  pid=fork();  	
-  /*    No terminal association    */
-  if( pid ) 
-    exit(0); 
-  else if( pid != -1 ) {
-    chdir("/");    umask(0);	
-  }
-  else
-    return ERR;
+  if (pid < 0) 
+      return ERR;
+  if (pid > 0)
+        exit(0);
+
+  umask(0);
+  sid = setsid();
+  if (sid < 0)
+      return ERR;
+
+  if ((chdir("/")) < 0)
+      return ERR;
+
+  freopen( "/dev/null", "r", stdin);
+  freopen( "/dev/null", "w", stdout);
+  freopen( "/dev/null", "w", stderr);
 
   return OK;
 }
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin