[gnome-media] Fix excessive CPU usage when trying to reconnect to PulseAudio



commit 40a8c5d21d6503ef8e56171c7adb30ca7479b9d3
Author: Chris Coulson <chrisccoulson googlemail com>
Date:   Sun Jul 26 15:28:20 2009 +0100

    Fix excessive CPU usage when trying to reconnect to PulseAudio
    
    When PulseAudio is dead, and can't be restarted, avoid chewing
    CPU by deferring the reconnect attempt for 5 seconds.

 gnome-volume-control/src/gvc-mixer-control.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/gnome-volume-control/src/gvc-mixer-control.c b/gnome-volume-control/src/gvc-mixer-control.c
index 718656d..837fb05 100644
--- a/gnome-volume-control/src/gvc-mixer-control.c
+++ b/gnome-volume-control/src/gvc-mixer-control.c
@@ -43,6 +43,8 @@
 
 #define GVC_MIXER_CONTROL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_MIXER_CONTROL, GvcMixerControlPrivate))
 
+#define RECONNECT_DELAY 5
+
 struct GvcMixerControlPrivate
 {
         pa_glib_mainloop *pa_mainloop;
@@ -1824,7 +1826,7 @@ _pa_context_state_cb (pa_context *context,
         case PA_CONTEXT_FAILED:
                 g_warning ("Connection failed, reconnecting...");
                 if (control->priv->reconnect_id == 0)
-                        control->priv->reconnect_id = g_idle_add (idle_reconnect, control);
+                        control->priv->reconnect_id = g_timeout_add_seconds (RECONNECT_DELAY, idle_reconnect, control);
                 break;
 
         case PA_CONTEXT_TERMINATED:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]