Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37535135
en ru br
Репозитории ALT
S:0.9.18-alt3.qa2
5.1: 0.9.18-alt3
4.1: 0.9.16-alt3
4.0: 0.9.16-alt3
3.0: 0.9.16-alt1
www.altlinux.org/Changes

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

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

Патч: irda-utils-0.9.16-alt-irattach-daemonize.patch
Скачать


--- irda-utils-0.9.16/irattach/util.c.alt-irattach-daemonize	2004-04-01 01:55:41 +0400
+++ irda-utils-0.9.16/irattach/util.c	2006-09-02 23:47:40 +0400
@@ -158,6 +158,7 @@ void fork_now(int ttyfd)
 {
 	int ret;
 	int i;
+	int fd;
 
 	if ((ret = fork()) > 0)
 		exit(0);
@@ -173,10 +174,23 @@ void fork_now(int ttyfd)
 	}
 
 	/* Close all open inherited files! Except for ttyfd! */
-	for (i = 0; i < 64; i++)
+	for (i = 0; i < sysconf(_SC_OPEN_MAX); i++)
 		if(i != ttyfd)
 			close(i);
 
+	/* Redirect standard descriptors to /dev/null to avoid trouble */
+	fd = open("/dev/null", O_RDWR);
+	if (fd >= 0) {
+		if (fd != STDIN_FILENO)
+			dup2(fd, STDIN_FILENO);
+		if (fd != STDOUT_FILENO)
+			dup2(fd, STDOUT_FILENO);
+		if (fd != STDERR_FILENO)
+			dup2(fd, STDERR_FILENO);
+		if (fd > STDERR_FILENO)
+			close(fd);
+	}
+
 	write_pid();
 } 
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin