hal/tools/linux hal_hotplug.c,1.20,1.21

David Zeuthen david at freedesktop.org
Tue Aug 31 15:55:46 PDT 2004


Update of /cvs/hal/hal/tools/linux
In directory gabe:/tmp/cvs-serv5912/tools/linux

Modified Files:
	hal_hotplug.c 
Log Message:
2004-09-01  David Zeuthen  <david at fubar.dk>

	This was a fun debugging session that led to this fix :-)
	Basically when building optimized binaries (like for the Fedora
	RPMS) an interesting sideeffect showed up: gobject signal handlers
	are run in arbritrary order. This means that we were processing
	hotplug events for sda%d before sda was added; which resulted in
	the unavailability of the kids because they couldn't find their
	parent.  Now we look at the device store to infer when to process
	the next event. Which is more correct and actually makes hal
	work. This *never* once showed up when not building without
	--build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu
	--target=i386-redhat-linux-gnu. Oh well.

	* hald/linux/osspec.c (process_coldplug_list_on_gdl_store_add): 
	Renamed from _callouts_done_for_device
	(process_coldplug_list): Wait for device to be added to GDL instead
	of relying on callouts to complete (device obj may not have been added
	to GDL just because the callouts complete)
	(reenable_hotplug_on_gdl_store_add): Renamed from reeanble_hotplug_proc
	(reenable_hotplug_on_gdl_store_remove): New function
	(hald_helper_hotplug): Rather look at the GDL for additions and
	removals than looking at whether callouts complete



Index: hal_hotplug.c
===================================================================
RCS file: /cvs/hal/hal/tools/linux/hal_hotplug.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- hal_hotplug.c	31 Aug 2004 16:53:40 -0000	1.20
+++ hal_hotplug.c	31 Aug 2004 22:55:44 -0000	1.21
@@ -130,7 +130,7 @@
 static const char *file_list_block[] = {
 	"dev",
 	"size",
-	"removable",
+	/*"removable",*/
 	NULL
 };
 




More information about the hal-commit mailing list