From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KjFcC-0005YZ-7V for qemu-devel@nongnu.org; Fri, 26 Sep 2008 11:52:20 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KjFcB-0005YB-Ij for qemu-devel@nongnu.org; Fri, 26 Sep 2008 11:52:19 -0400 Received: from [199.232.76.173] (port=34455 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KjFcB-0005Y7-7A for qemu-devel@nongnu.org; Fri, 26 Sep 2008 11:52:19 -0400 Received: from savannah.gnu.org ([199.232.41.3]:34387 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KjFcA-0003xb-Nq for qemu-devel@nongnu.org; Fri, 26 Sep 2008 11:52:18 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1KjFc9-0002bz-TH for qemu-devel@nongnu.org; Fri, 26 Sep 2008 15:52:17 +0000 Received: from aliguori by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1KjFc9-0002bu-K3 for qemu-devel@nongnu.org; Fri, 26 Sep 2008 15:52:17 +0000 MIME-Version: 1.0 Errors-To: aliguori Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Anthony Liguori Message-Id: Date: Fri, 26 Sep 2008 15:52:17 +0000 Subject: [Qemu-devel] [5322] Fix build on FreeBSD Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 5322 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5322 Author: aliguori Date: 2008-09-26 15:52:17 +0000 (Fri, 26 Sep 2008) Log Message: ----------- Fix build on FreeBSD __GLIBC_PREREQ is defined in such a way that the ! cannot be used in front of it on FreeBSD. Also, -lpthread is not implied by the build and we definitely use it for compatfd support. While at it, I added a default initialization for posix-aio that seems to perform well in our testing. Signed-off-by: Anthony Liguori Modified Paths: -------------- trunk/block-raw-posix.c trunk/configure Modified: trunk/block-raw-posix.c =================================================================== --- trunk/block-raw-posix.c 2008-09-25 20:24:19 UTC (rev 5321) +++ trunk/block-raw-posix.c 2008-09-26 15:52:17 UTC (rev 5322) @@ -525,6 +525,7 @@ { sigset_t mask; PosixAioState *s; + struct aioinit ai; if (posix_aio_state) return 0; @@ -545,18 +546,19 @@ qemu_aio_set_fd_handler(s->fd, posix_aio_read, NULL, posix_aio_flush, s); -#if defined(__linux__) && defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 4) - { - /* XXX: aio thread exit seems to hang on RedHat 9 and this init - seems to fix the problem. */ - struct aioinit ai; - memset(&ai, 0, sizeof(ai)); - ai.aio_threads = 1; - ai.aio_num = 1; - ai.aio_idle_time = 365 * 100000; - aio_init(&ai); + memset(&ai, 0, sizeof(ai)); +#if !defined(__linux__) || (defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 4)) + ai.aio_threads = 5; + ai.aio_num = 1; +#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; } #endif + aio_init(&ai); posix_aio_state = s; return 0; Modified: trunk/configure =================================================================== --- trunk/configure 2008-09-25 20:24:19 UTC (rev 5321) +++ trunk/configure 2008-09-26 15:52:17 UTC (rev 5322) @@ -482,8 +482,10 @@ linux_user="no" fi -if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then +if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then AIOLIBS= +elif [ "$bsd" = "yes" ]; then + AIOLIBS="-lpthread" else # Some Linux architectures (e.g. s390) don't imply -lpthread automatically. AIOLIBS="-lrt -lpthread"