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