17 // Not sure if the sigevent is even looked at by aio_*... just zero it.
18 memset(&s
, 0, sizeof(struct sigevent
));
26 a
.aio_lio_opcode
= 0; // ignored
28 //------------------------------------------------------------------------
29 // The cases where aiocbp itself points to bogus memory is handled in
30 // memcheck/tests/darwin/scalar.c, so we don't check that here.
32 //------------------------------------------------------------------------
33 // XXX: This causes an unexpected undef value error later, at the XXX mark.
34 // Not sure why, it shouldn't.
35 // assert( aio_return(&a) < 0); // (aiocbp hasn't been inited)
37 //------------------------------------------------------------------------
38 assert( aio_read(&a
) < 0); // invalid fd
40 //------------------------------------------------------------------------
41 a
.aio_fildes
= open("aio.c", O_RDONLY
);
42 assert(a
.aio_fildes
>= 0);
44 assert( aio_read(&a
) < 0); // unaddressable aio_buf
46 //------------------------------------------------------------------------
49 assert( aio_read(&a
) == 0 );
51 assert( aio_read(&a
) < 0 ); // (don't crash on the repeated &a)
53 while (0 != aio_error(&a
)) { };
55 if (buf
[0] == buf
[9]) x
++; // undefined -- aio_return() not called yet
57 assert( aio_return(&a
) > 0 ); // XXX: (undefined value error here)
59 if (buf
[0] == buf
[9]) x
++;
61 assert( aio_return(&a
) < 0 ); // (repeated aio_return(); fails because
62 // Valgrind can't find &a in the table)
64 //------------------------------------------------------------------------
66 a
.aio_fildes
= creat("mytmpfile", S_IRUSR
|S_IWUSR
);
67 assert(a
.aio_fildes
>= 0);
69 assert( aio_write(&a
) < 0); // unaddressable aio_buf
71 //------------------------------------------------------------------------
74 assert( aio_write(&a
) == 0 );
76 assert( aio_write(&a
) < 0 ); // (don't crash on the repeated &a)
78 while (0 != aio_error(&a
)) { };
80 assert( aio_return(&a
) > 0 );
82 assert( aio_return(&a
) < 0 ); // (repeated aio_return(); fails because
83 // Valgrind can't find &a in the table)