From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lomjf-0002PM-Cb for qemu-devel@nongnu.org; Tue, 31 Mar 2009 18:47:11 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lomja-0002OK-IR for qemu-devel@nongnu.org; Tue, 31 Mar 2009 18:47:11 -0400 Received: from [199.232.76.173] (port=50809 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lomja-0002OH-GA for qemu-devel@nongnu.org; Tue, 31 Mar 2009 18:47:06 -0400 Received: from phong.sigbus.net ([65.49.35.42]:55600) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LomjZ-0001Lg-Vv for qemu-devel@nongnu.org; Tue, 31 Mar 2009 18:47:06 -0400 Received: from [192.168.0.3] (c-71-202-202-194.hsd1.ca.comcast.net [71.202.202.194]) by phong.sigbus.net (Postfix) with ESMTPSA id C071395C0A1 for ; Tue, 31 Mar 2009 15:47:04 -0700 (PDT) From: Nolan Content-Type: text/plain Date: Tue, 31 Mar 2009 15:47:03 -0700 Message-Id: <1238539623.15350.556.camel@voxel> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH] [RESEND] oom_check qemu_memalign 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" As suggested by Avi on the KVM list, this patch adds oom_check to qemu_memalign, in the interests of symmetry with qemu_malloc*. See also: http://article.gmane.org/gmane.comp.emulators.kvm.devel/29510 This version also updates the win32 version, at malc's request. Signed-off-by: Nolan Leake sigbus.net> Index: osdep.c =================================================================== --- osdep.c (revision 6963) +++ osdep.c (working copy) @@ -51,7 +51,8 @@ #if defined(_WIN32) void *qemu_memalign(size_t alignment, size_t size) { - return VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE); + return qemu_oom_check(VirtualAlloc(NULL, size, + MEM_COMMIT, PAGE_READWRITE)); } void *qemu_vmalloc(size_t size) @@ -186,11 +187,11 @@ ret = posix_memalign(&ptr, alignment, size); if (ret != 0) return NULL; - return ptr; + return qemu_oom_check(ptr); #elif defined(HOST_BSD) - return valloc(size); + return qemu_oom_check(valloc(size)); #else - return memalign(alignment, size); + return qemu_oom_check(memalign(alignment, size)); #endif } Index: qemu-common.h =================================================================== --- qemu-common.h (revision 6963) +++ qemu-common.h (working copy) @@ -126,6 +126,7 @@ #define qemu_isascii(c) isascii((unsigned char)(c)) #define qemu_toascii(c) toascii((unsigned char)(c)) +void *qemu_oom_check(void *ptr); void *qemu_malloc(size_t size); void *qemu_realloc(void *ptr, size_t size); void *qemu_mallocz(size_t size); Index: qemu-malloc.c =================================================================== --- qemu-malloc.c (revision 6963) +++ qemu-malloc.c (working copy) @@ -24,7 +24,7 @@ #include "qemu-common.h" #include -static void *oom_check(void *ptr) +void *qemu_oom_check(void *ptr) { if (ptr == NULL) abort(); @@ -43,13 +43,13 @@ void *qemu_malloc(size_t size) { - return oom_check(malloc(size)); + return qemu_oom_check(malloc(size)); } void *qemu_realloc(void *ptr, size_t size) { if (size) - return oom_check(realloc(ptr, size)); + return qemu_oom_check(realloc(ptr, size)); else return realloc(ptr, size); }