mirror of https://github.com/xqemu/xqemu.git
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
This commit is contained in:
parent
0d0ab49ab0
commit
acce87f92b
|
@ -569,7 +569,6 @@ static int posix_aio_init(void)
|
||||||
{
|
{
|
||||||
sigset_t mask;
|
sigset_t mask;
|
||||||
PosixAioState *s;
|
PosixAioState *s;
|
||||||
struct aioinit ai;
|
|
||||||
|
|
||||||
if (posix_aio_state)
|
if (posix_aio_state)
|
||||||
return 0;
|
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);
|
qemu_aio_set_fd_handler(s->fd, posix_aio_read, NULL, posix_aio_flush, s);
|
||||||
|
|
||||||
memset(&ai, 0, sizeof(ai));
|
#if defined(__linux__)
|
||||||
#if !defined(__linux__) || (defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 4))
|
{
|
||||||
ai.aio_threads = 5;
|
struct aioinit ai;
|
||||||
ai.aio_num = 1;
|
|
||||||
|
memset(&ai, 0, sizeof(ai));
|
||||||
|
#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 4)
|
||||||
|
ai.aio_threads = 64;
|
||||||
|
ai.aio_num = 64;
|
||||||
#else
|
#else
|
||||||
/* XXX: aio thread exit seems to hang on RedHat 9 and this init
|
/* XXX: aio thread exit seems to hang on RedHat 9 and this init
|
||||||
seems to fix the problem. */
|
seems to fix the problem. */
|
||||||
ai.aio_threads = 1;
|
ai.aio_threads = 1;
|
||||||
ai.aio_num = 1;
|
ai.aio_num = 1;
|
||||||
ai.aio_idle_time = 365 * 100000;
|
ai.aio_idle_time = 365 * 100000;
|
||||||
|
#endif
|
||||||
|
aio_init(&ai);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
aio_init(&ai);
|
|
||||||
posix_aio_state = s;
|
posix_aio_state = s;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue