rev 5873 - in trunk/packages/kdebase/debian: . patches
Sune Vuorela
pusling-guest at alioth.debian.org
Mon Apr 9 17:51:58 UTC 2007
Author: pusling-guest
Date: 2007-04-09 17:51:57 +0000 (Mon, 09 Apr 2007)
New Revision: 5873
Added:
trunk/packages/kdebase/debian/patches/44_ksplash_fork_too_early_race_cond.diff
Modified:
trunk/packages/kdebase/debian/changelog
Log:
prevent ksplash from locking due to race conditions
Modified: trunk/packages/kdebase/debian/changelog
===================================================================
--- trunk/packages/kdebase/debian/changelog 2007-04-09 17:43:02 UTC (rev 5872)
+++ trunk/packages/kdebase/debian/changelog 2007-04-09 17:51:57 UTC (rev 5873)
@@ -41,8 +41,9 @@
Korean thanks to Sunjae Park (Closes: #418211)
* Add a patch to put some quotes in kdeprintgfax to have spaces in
names/numbers. Thanks to Robert Cheramy. (Closes: #247396)
+ * Prevent ksplash from locking due to race conditions (Closes: 413273)
- -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Mon, 9 Apr 2007 19:37:48 +0200
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Mon, 9 Apr 2007 19:50:55 +0200
kdebase (4:3.5.6.dfsg.1-2) experimental; urgency=low
Added: trunk/packages/kdebase/debian/patches/44_ksplash_fork_too_early_race_cond.diff
===================================================================
--- trunk/packages/kdebase/debian/patches/44_ksplash_fork_too_early_race_cond.diff 2007-04-09 17:43:02 UTC (rev 5872)
+++ trunk/packages/kdebase/debian/patches/44_ksplash_fork_too_early_race_cond.diff 2007-04-09 17:51:57 UTC (rev 5873)
@@ -0,0 +1,34 @@
+--- kdebase-3.5.5a.dfsg.1/ksplashml/main.cpp 2007-03-03 14:50:34.963831032 -0600
++++ kdebase-3.5.5a.dfsg.1.orig/ksplashml/main.cpp 2005-09-10 03:25:51.000000000 -0500
+@@ -54,6 +54,12 @@
+ KCmdLineArgs::addCmdLineOptions(options);
+ KCmdLineArgs *arg = KCmdLineArgs::parsedArgs();
+
++ if( arg->isSet( "fork" ) )
++ {
++ if (fork())
++ exit(0);
++ }
++
+ if ( !( arg->isSet( "dcop" ) ) )
+ KApplication::disableAutoDcopRegistration();
+ else if ( KApplication::dcopClient()->attach() )
+@@ -69,18 +75,6 @@
+ wndMain.setStartupItemCount( steps );
+ }
+
+- // The position of this fork() matters, fork too early and you risk the
+- // calls to KSplash::programStarted being missed. Now that wndMain has
+- // been instantiated it is safe to do this. An earlier version of
+- // this program had this fork occuring before the instantiation,
+- // and this led to a race condition where if ksplash lost the race it would
+- // hang because it would wait for signals that had already been sent
+- if( arg->isSet( "fork" ) )
+- {
+- if (fork())
+- exit(0);
+- }
+-
+ app.setMainWidget(&wndMain);
+ app.setTopWidget(&wndMain);
+ return(app.exec());
More information about the pkg-kde-commits
mailing list