diff options
author | phk <phk@FreeBSD.org> | 2003-04-23 20:46:12 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-04-23 20:46:12 +0000 |
commit | 3bbfe9f43b9f428fa76cf6b43be961ff03071025 (patch) | |
tree | 2d203b1d0b7761a17e73c3483c4149f9172a544b /sys/geom/geom_disk.c | |
parent | f0e2ab20a0f8aec13b4380cbf6075819af64c9a7 (diff) | |
download | FreeBSD-src-3bbfe9f43b9f428fa76cf6b43be961ff03071025.zip FreeBSD-src-3bbfe9f43b9f428fa76cf6b43be961ff03071025.tar.gz |
Rename g_call_me() to g_post_event(), and give it a flag
argument to determine if we can M_WAITOK in malloc.
Diffstat (limited to 'sys/geom/geom_disk.c')
-rw-r--r-- | sys/geom/geom_disk.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c index a5d2109..91887b8 100644 --- a/sys/geom/geom_disk.c +++ b/sys/geom/geom_disk.c @@ -333,7 +333,7 @@ disk_create(int unit, struct disk *dp, int flags, void *unused __unused, void * dp->d_sectorsize, DEVSTAT_ALL_SUPPORTED, DEVSTAT_TYPE_DIRECT, DEVSTAT_PRIORITY_MAX); dp->d_geom = NULL; - g_call_me(g_disk_create, dp, dp, NULL); + g_post_event(g_disk_create, dp, M_WAITOK, dp, NULL); } /* @@ -386,12 +386,11 @@ sysctl_disks(SYSCTL_HANDLER_ARGS) sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); sbuf_clear(sb); - error = g_call_me(g_kern_disks, sb, NULL); - while (!error && !sbuf_done(sb)) { + g_post_event(g_kern_disks, sb, M_WAITOK, NULL); + while (!sbuf_done(sb)) { tsleep(sb, PZERO, "kern.disks", hz); } - if (!error) - error = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb) + 1); + error = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); return error; } |