Date: Sun, 15 Jan 2006 00:35:43 +0100 From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: Nate Lawson <nate@root.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern subr_bus.c Message-ID: <33479.1137281743@critter.freebsd.dk> In-Reply-To: Your message of "Sat, 14 Jan 2006 12:47:39 PST." <43C9636B.6070500@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <43C9636B.6070500@root.org>, Nate Lawson writes:
>Poul-Henning Kamp wrote:
>> Index: src/sys/kern/subr_bus.c
>> diff -u src/sys/kern/subr_bus.c:1.187 src/sys/kern/subr_bus.c:1.188
>> --- src/sys/kern/subr_bus.c:1.187 Tue Oct 4 22:25:14 2005
>> +++ src/sys/kern/subr_bus.c Sat Jan 14 09:41:35 2006
>> @@ -2820,7 +2820,7 @@
>> {
>> struct resource_list_entry *rle;
>>
>> - STAILQ_FOREACH(rle, rl, link) {
>> + while ((rle = STAILQ_FIRST(rl)) != NULL) {
>> if (rle->res)
>> bus_release_resource(rman_get_device(rle->res),
>> rle->type, rle->rid, rle->res);
>
>Isn't that what the STAILQ_FOREACH_SAFE() macro is for? List traversal
>with deletion? Your approach is also fine.
In this case we empty the entire list, so this should be marginally
faster, which is probably irrelevevant, and maybe a tiny bit clearer
on the intent.
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?33479.1137281743>
