lio_listio Problem
Andreas Jaeger
aj@suse.de
Wed Jul 26 01:11:00 GMT 2000
>>>>> Kevin Beard writes:
> Thanks for looking at this guys, but now I'm a little bit confused.ÃÂ
> Ulrich, what do you mean when you say you've fixed it in the CVS archive.ÃÂ
> Do I need to download a new version of a library from Redhat's server?ÃÂ I'm
> a bit new to all this so please forgive my lack of knowledge :-)
It means that we've added it to our development version, there's no
new version yet. You can look at the archive via
< http://sourceware.cygnus.com/glibc >.
I've appended the patch, apply it to glibc 2.1.3 and tell us if it
fixes your problem.
Thanks,
Andreas
--- glibc-2-1-branch/rt/lio_listio.c Sun Aug 15 22:46:56 1999
+++ libc/rt/lio_listio.c Wed Jul 26 08:37:54 2000
@@ -1,5 +1,5 @@
/* Enqueue and list of read or write requests.
- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -42,6 +42,7 @@
int nent;
struct sigevent *sig;
{
+ struct sigevent defsigev;
struct requestlist *requests[nent];
int cnt;
volatile int total = 0;
@@ -54,6 +55,12 @@
return -1;
}
+ if (sig == NULL)
+ {
+ defsigev.sigev_notify = SIGEV_NONE;
+ sig = &defsigev;
+ }
+
/* Request the mutex. */
pthread_mutex_lock (&__aio_requests_mutex);
@@ -62,6 +69,7 @@
for (cnt = 0; cnt < nent; ++cnt)
if (list[cnt] != NULL && list[cnt]->aio_lio_opcode != LIO_NOP)
{
+ list[cnt]->aio_sigevent.sigev_notify = SIGEV_NONE;
requests[cnt] = __aio_enqueue_request ((aiocb_union *) list[cnt],
list[cnt]->aio_lio_opcode);
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
More information about the Libc-alpha
mailing list