Really fix the BSD build this time

struct aioinit isn't defined on BSD it appears so we need to guard everything
in an #if defined(__linux__).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5325 c046a42c-6fe2-441c-8c8c-71466251a162
master
aliguori 2008-09-26 16:12:14 +00:00
parent 0d0ab49ab0
commit acce87f92b
1 changed files with 16 additions and 11 deletions

View File

@ -569,7 +569,6 @@ static int posix_aio_init(void)
{
sigset_t mask;
PosixAioState *s;
struct aioinit ai;
if (posix_aio_state)
return 0;
@ -590,18 +589,24 @@ static int posix_aio_init(void)
qemu_aio_set_fd_handler(s->fd, posix_aio_read, NULL, posix_aio_flush, s);
memset(&ai, 0, sizeof(ai));
#if !defined(__linux__) || (defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 4))
ai.aio_threads = 5;
ai.aio_num = 1;
#if defined(__linux__)
{
struct aioinit ai;
memset(&ai, 0, sizeof(ai));
#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 4)
ai.aio_threads = 64;
ai.aio_num = 64;
#else
/* XXX: aio thread exit seems to hang on RedHat 9 and this init
seems to fix the problem. */
ai.aio_threads = 1;
ai.aio_num = 1;
ai.aio_idle_time = 365 * 100000;
/* XXX: aio thread exit seems to hang on RedHat 9 and this init
seems to fix the problem. */
ai.aio_threads = 1;
ai.aio_num = 1;
ai.aio_idle_time = 365 * 100000;
#endif
aio_init(&ai);
}
#endif
aio_init(&ai);
posix_aio_state = s;
return 0;