Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Oct 2002 18:57:08 -0400 (EDT)
From:      Garrett Wollman <wollman@lcs.mit.edu>
To:        Craig Rodrigues <rodrigc@attbi.com>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: Bad system call: aio_read()
Message-ID:  <200210152257.g9FMv8rO007818@khavrinen.lcs.mit.edu>
In-Reply-To: <20021012115723.A22674@attbi.com>
References:  <20021012095302.A22260@attbi.com> <20021012142400.GA26739@rz.uni-karlsruhe.de> <20021012164925.C424@aldebaran.dx> <20021012115723.A22674@attbi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Sat, 12 Oct 2002 11:57:23 -0400, Craig Rodrigues <rodrigc@attbi.com> said:

> I am trying to port the ACE library (
> http://www.cs.wustl.edu/~schmidt/ACE.html ) to FreeBSD-CURRENT, and
> it is very confusing that code in -STABLE which compiled and worked,
> does not work the same way in -CURRENT.  (ie. the code compiles, but
> it crashes because of a new kernel option not being enabled or a
> module not being kldload'ed).

The code is erroneous.  In -current, _POSIX_ASYNCHRONOUS_IO is defined
with value zero, which indicates that an application must call
pathconf() or fpathconf() with key _PC_ASYNC_IO to determine whether
AIO is supported for the path or file descriptor in question.  If you
call AIO functions without first checking whether they are available
in the run-time environment, your computer is liable to turn into a
frog.  Other nasty things, such as abnormal program termination
resulting from SIGSYS, may also happen.

(If the code actually did this, it would find that FreeBSD's
implementation of pathconf() is somewhat broken and always fails for
this key.  This is on my list of things to fix in my Copious Free
Time, but if a Junior Kernel Hacker cared to do it for me I wouldn't
mind at all.)

-GAWollman


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210152257.g9FMv8rO007818>