diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-02-25 21:39:13 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-02-25 21:39:13 +0000 |
commit | 4684488d86d4330191cf07d89f1c8f6e826d0e1f (patch) | |
tree | 4bacd6a7f98c0328aa5a68bbd0e61cfaca5d142b /sysutils/hal | |
parent | 998408ec44df5ca8f3841c839b452094f5c77da1 (diff) | |
download | ports-4684488d86d4330191cf07d89f1c8f6e826d0e1f.tar.gz ports-4684488d86d4330191cf07d89f1c8f6e826d0e1f.zip |
Notes
Diffstat (limited to 'sysutils/hal')
-rw-r--r-- | sysutils/hal/files/patch-hald_hf-storage.c | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/sysutils/hal/files/patch-hald_hf-storage.c b/sysutils/hal/files/patch-hald_hf-storage.c index e5414657ac0d..58d00a8963e0 100644 --- a/sysutils/hal/files/patch-hald_hf-storage.c +++ b/sysutils/hal/files/patch-hald_hf-storage.c @@ -1,5 +1,5 @@ --- hald/freebsd/hf-storage.c.orig 2008-05-07 19:23:57.000000000 -0400 -+++ hald/freebsd/hf-storage.c 2009-02-23 16:39:09.000000000 -0500 ++++ hald/freebsd/hf-storage.c 2009-02-25 16:38:35.000000000 -0500 @@ -30,6 +30,7 @@ #include <limits.h> #include <inttypes.h> @@ -97,29 +97,16 @@ else geom_obj->type = atoi(fields[10]); } -@@ -540,16 +570,34 @@ hf_storage_device_rescan_real (HalDevice - hf_storage_device_probe(device, TRUE); +@@ -541,15 +571,20 @@ hf_storage_device_rescan_real (HalDevice } -+#if __FreeBSD_version < 700110 static gboolean - hf_storage_conftxt_timeout_cb (gpointer data) - { -+ if (hf_is_waiting) -+ return TRUE; -+ -+ hf_storage_devd_notify("DEVFS", "CDEV", "CREATE", NULL); -+ -+ return TRUE; -+} -+#endif -+ -+static gboolean +-hf_storage_conftxt_timeout_cb (gpointer data) +hf_storage_devd_notify (const char *system, + const char *subsystem, + const char *type, + const char *data) -+{ + { static GSList *disks = NULL; static gboolean first = TRUE; + gboolean handled = FALSE; @@ -134,7 +121,7 @@ conftxt = hf_get_string_sysctl(NULL, "kern.geom.conftxt"); new_disks = hf_storage_parse_conftxt(conftxt); -@@ -572,6 +620,7 @@ hf_storage_conftxt_timeout_cb (gpointer +@@ -572,6 +607,7 @@ hf_storage_conftxt_timeout_cb (gpointer if (! hf_storage_find_disk(disks, disk->name)) { osspec_probe(); /* catch new disk(s) */ @@ -142,7 +129,7 @@ break; } } -@@ -593,7 +642,10 @@ hf_storage_conftxt_timeout_cb (gpointer +@@ -593,7 +629,10 @@ hf_storage_conftxt_timeout_cb (gpointer device = hf_devtree_find_from_name(hald_get_gdl(), disk->name); if (device && hal_device_has_capability(device, "storage") && ! hf_storage_device_has_addon(device)) @@ -154,7 +141,7 @@ } } else -@@ -601,7 +653,10 @@ hf_storage_conftxt_timeout_cb (gpointer +@@ -601,7 +640,10 @@ hf_storage_conftxt_timeout_cb (gpointer /* disk removed */ device = hf_devtree_find_from_name(hald_get_gdl(), disk->name); if (device && hal_device_has_capability(device, "storage")) @@ -166,13 +153,25 @@ } } } -@@ -610,17 +665,17 @@ hf_storage_conftxt_timeout_cb (gpointer +@@ -610,17 +652,30 @@ hf_storage_conftxt_timeout_cb (gpointer g_slist_free(disks); disks = new_disks; -- return TRUE; + return handled; ++} ++ ++#if __FreeBSD_version < 700110 ++static gboolean ++hf_storage_conftxt_timeout_cb (gpointer data) ++{ ++ if (hf_is_waiting) ++ return TRUE; ++ ++ hf_storage_devd_notify("DEVFS", "CDEV", "CREATE", NULL); ++ + return TRUE; } ++#endif static void -hf_storage_init_geom (void) |