ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] icewm-1.0.6: продолжаем ловлю блох
@ 2001-03-14 16:25 Sergey Vlasov
  0 siblings, 0 replies; only message in thread
From: Sergey Vlasov @ 2001-03-14 16:25 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: Type: text/plain, Size: 140 bytes --]

Вот патч к icewm-1.0.6, устраняющий утечку дескрипторов при каждом его перезапуске (например, при смене темы). На sourceforge уже сообщено.

[-- Attachment #2: icewm-1.0.6-fdleak.patch --]
[-- Type: text/plain, Size: 896 bytes --]

--- icewm-1.0.6/src/yapp.cc.fdleak	Sat Jan 13 02:23:18 2001
+++ icewm-1.0.6/src/yapp.cc	Wed Mar 14 18:41:15 2001
@@ -382,6 +382,18 @@
     char *fData;
 };
 
+#if defined(F_GETFD) && defined(FD_CLOEXEC)
+static void
+set_cloexec_flag (int fd)
+{
+    int flags = fcntl (fd, F_GETFD, 0);
+    if (flags < 0)
+	return;
+    flags |= FD_CLOEXEC;
+    fcntl (fd, F_SETFD, flags);
+}
+#endif /* defined(F_GETFD) && defined(FD_CLOEXEC) */
+
 void initSignals() {
     sigemptyset(&signalMask);
     sigaddset(&signalMask, SIGHUP);
@@ -392,6 +404,10 @@
     if (pipe(signalPipe) != 0)
         die(2, _("Pipe creation failed (errno=%d)."), errno);
     fcntl(signalPipe[1], F_SETFL, O_NONBLOCK);
+#if defined(F_GETFD) && defined(FD_CLOEXEC)
+    set_cloexec_flag(signalPipe[0]);
+    set_cloexec_flag(signalPipe[1]);
+#endif /* defined(F_GETFD) && defined(FD_CLOEXEC) */
 }
 
 static void initAtoms() {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-03-14 16:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-03-14 16:25 [sisyphus] icewm-1.0.6: продолжаем ловлю блох Sergey Vlasov

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git