Date: Tue, 23 Jan 2001 06:26:12 -0800 (PST) From: Jin Guojin <jin@alonso.panasas.com> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/24559: aio_suspend() had Bus error when using -lc_r Message-ID: <200101231426.f0NEQC900617@alonso.panasas.com>
next in thread | raw e-mail | index | archive | help
>Number: 24559
>Category: kern
>Synopsis: aio_suspend() had Bus error when using -lc_r
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jan 22 14:30:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Jin Guojin
>Release: FreeBSD 4.2-RELEASE i386
>Organization:
>Environment:
4.2-RELEASE
>Description:
aio_suspend() gets Bus error when used in thread ENV (-lc_r).
This works in 3.5-RELEASE.
>How-To-Repeat:
The following code works well when compiled as
cc -g test.c
but core dumps when compiled as
cc -g test.c -lc_r
----------------------- cut -------------------
# include <aio.h>
#include <fcntl.h>
main()
{
char *dev = "/dev/ad0";
int i, r_size=4096;
struct aiocb aiocb = {0};
const struct aiocb *aiocbp = &aiocb;
aiocb.aio_offset = 0;
aiocb.aio_nbytes = r_size;
aiocb.aio_fildes = open(dev, O_RDONLY);
if (aiocb.aio_fildes < 0)
errx(1, "open %s\n", dev);
aiocb.aio_buf = malloc(r_size);
if ((i=aio_read(&aiocb)) < 0)
errx(2, "aio_read");
if (!i)
aio_suspend(&aiocbp, 1, NULL);
free(aiocb.aio_buf);
}
----------------------- cut -------------------
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101231426.f0NEQC900617>
