hal/hald util.c,1.25,1.26

Danny Kukawka dkukawka at freedesktop.org
Fri Aug 26 07:38:28 PDT 2005


Update of /cvs/hal/hal/hald
In directory gabe:/tmp/cvs-serv13120/hald

Modified Files:
	util.c 
Log Message:
2005-08-26  Danny Kukawka <danny.kukawka at web.de>

        * configure.in: added sl_SI to ALL_LINGUAS

        * hald/util.c: (hal_util_helper_invoke_with_pipes),
        (callout_failed): Added Patch from Kay Sievers <kay.sievers at vrfy.org>
        With This patch HAL skips failing callouts in the execution list
        instead of waiting in the mainloop to be killed.



Index: util.c
===================================================================
RCS file: /cvs/hal/hal/hald/util.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- util.c	22 Aug 2005 08:39:09 -0000	1.25
+++ util.c	26 Aug 2005 14:38:25 -0000	1.26
@@ -598,6 +598,9 @@
 	return TRUE;
 }
 
+static void
+callout_failed (HalHelperData *ed);
+
 HalHelperData *
 hal_util_helper_invoke (const gchar *command_line, gchar **extra_env, HalDevice *d, 
 			gpointer data1, gpointer data2, HalHelperTerminatedCB cb, guint timeout)
@@ -680,6 +683,10 @@
 					       &err)) {
 			HAL_ERROR (("Couldn't spawn '%s' err=%s!", command_line, err->message));
 			g_error_free (err);
+
+			/* move ahead in list */
+			callout_failed(ed);
+
 			g_free (ed);
 			ed = NULL;
 		} else {
@@ -1067,6 +1074,16 @@
 
 static void callout_do_next (Callout *c);
 
+static void
+callout_failed (HalHelperData *ed)
+{
+	Callout *c;
+	c = (Callout *) ed->data1;
+
+	c->next_program++;
+	callout_do_next(c);
+}
+
 static void 
 callout_terminated (HalDevice *d, gboolean timed_out, gint return_code, 
 		    gpointer data1, gpointer data2, HalHelperData *helper_data)




More information about the hal-commit mailing list