diff options
author | Rob Taylor <rob.taylor@collabora.co.uk> | 2006-12-08 09:50:03 +0000 |
---|---|---|
committer | Rob Taylor <rob.taylor@codethink.co.uk> | 2007-01-31 14:23:17 +0000 |
commit | eb166fe59ecc83dde48e2f4ff5228830fbcfa1a4 (patch) | |
tree | c59eb551bcaa0bb83dbbc85ccd2ce7f0c124243e /hald/linux/blockdev.c | |
parent | edc7a142ed13d6245f307187f3eadd3bddd4b9da (diff) |
Make hotplugging non-recursive.
This adds a notify callback for when hald_runner has finished calling a callout.
For linux, we install hotplug_event_process_queue as the notify, and modify hotplug_event_process_queue to iterate the queue. All recrursive calls to hotplug_event_process_queue are removed. This results in massive stack and a not inconsiquential heap savings.
Diffstat (limited to 'hald/linux/blockdev.c')
-rw-r--r-- | hald/linux/blockdev.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/hald/linux/blockdev.c b/hald/linux/blockdev.c index 52c6071f..55f22f15 100644 --- a/hald/linux/blockdev.c +++ b/hald/linux/blockdev.c @@ -315,7 +315,6 @@ generate_fakevolume_hotplug_event_add_for_storage_device (HalDevice *d) hotplug_event->sysfs.net_ifindex = -1; hotplug_event_enqueue (hotplug_event); - hotplug_event_process_queue (); } static void @@ -1303,7 +1302,6 @@ block_rescan_storage_done (HalDevice *d, guint32 exit_type, hotplug_event = blockdev_generate_remove_hotplug_event (fakevolume); if (hotplug_event != NULL) { hotplug_event_enqueue (hotplug_event); - hotplug_event_process_queue (); } } } |