Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Jan 2002 00:29:15 -0600
From:      "Alan L. Cox" <alc@imimic.com>
To:        Alfred Perlstein <bright@mu.org>
Cc:        tegge@freebsd.org, hackers@freebsd.org
Subject:   Re: oddness in aio_procrundown?
Message-ID:  <3C37EEBB.5F88F2A@imimic.com>
References:  <20020105151705.Z82406@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein wrote:
> 
> ok:
> 
> at about line 498 in vfs_aio.c:
> 
>                 aiocbn = TAILQ_NEXT(aiocbe, plist);
>                 fp = fdp->fd_ofiles[aiocbe->uaiocb.aio_fildes];
> 
>                 /*
>                  * Under some circumstances, the aio_fildes and the file
>                  * structure don't match.  This would leave aiocbe's in the
>                  * TAILQ associated with the socket and cause a panic later.
>                  *
>                  * Detect and fix.
>                  */
>                 if ((fp == NULL) || (fp != aiocbe->fd_file))
>                         fp = aiocbe->fd_file;
> 
> So, basically if fp is NULL or not fp != aiocbe->fd_file then it's
> set to aiocbe->fd_file, doesn't that mean it should just be:
> 
>                 fp = aiocbe->fd_file;
> 

I can't explain this bit of weirdness.  It existed in the original
commit that added support for AIO on sockets.

Alan

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C37EEBB.5F88F2A>