From: drh Date: Sat, 20 Oct 2007 12:34:00 +0000 (+0000) Subject: Fix a mutex leak in the new malloc-free memory allocator. (CVS 4494) X-Git-Tag: version-3.6.10~1683 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=80ca2d09356d7ae867c4e8f0a4defd25a6121643;p=thirdparty%2Fsqlite.git Fix a mutex leak in the new malloc-free memory allocator. (CVS 4494) FossilOrigin-Name: 30f014d3d0231a668c40508ff4a6b90ce622c857 --- diff --git a/manifest b/manifest index 75c69d630d..6957117d4e 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Added\san\sexperimental\smalloc-free\smemory\sallocation\ssubsystem,\sintended\nfor\suse\son\sembedded\ssystems.\s\sRuns\s7%\sfaster\sthan\swhen\susing\ssystem\nmalloc()\son\sLinux.\s(CVS\s4493) -D 2007-10-19T17:47:25 +C Fix\sa\smutex\sleak\sin\sthe\snew\smalloc-free\smemory\sallocator.\s(CVS\s4494) +D 2007-10-20T12:34:01 F Makefile.in 30c7e3ba426ddb253b8ef037d1873425da6009a8 F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -104,7 +104,7 @@ F src/malloc.c de4e77fe70a9a0ac47a1c3a874422b107231bf31 F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217 F src/mem1.c cacb202bc379da10d69aa66d497c0ea7bd9cd8a5 F src/mem2.c 3f669b5e20975a5a2ca392aca891cd686e22b097 -F src/mem3.c 6c3cc2d3894acdc2eef5d65960a3bd4c8ba3aed7 +F src/mem3.c 6a9329f368d9a6f3f1937c870e63f25db4921cef F src/mutex.c 3259f62c2429967aee6dc112117a6d2f499ef061 F src/mutex.h 079fa6fe9da18ceb89e79012c010594c6672addb F src/mutex_os2.c 7fe4773e98ed74a63b2e54fc557929eb155f6269 @@ -582,7 +582,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P e8d591e8c369794921a4acbba5b17fddca730ee7 -R 57568b40e30acc759ef65998fb849eb6 +P 8487ca82fade60b9fa63abf74e10f6ebcb48b98e +R 90ba9f4c15dca4497d400480c35485e4 U drh -Z ffa57053e998becc58e159cdcfc3c99d +Z ea0e251b46a75fe3eb6d2bdbc7463d99 diff --git a/manifest.uuid b/manifest.uuid index 936ad3d37e..99c54be186 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8487ca82fade60b9fa63abf74e10f6ebcb48b98e \ No newline at end of file +30f014d3d0231a668c40508ff4a6b90ce622c857 \ No newline at end of file diff --git a/src/mem3.c b/src/mem3.c index c7b0de3109..3b9b4028e9 100644 --- a/src/mem3.c +++ b/src/mem3.c @@ -20,7 +20,7 @@ ** This version of the memory allocation subsystem is used if ** and only if SQLITE_MEMORY_SIZE is defined. ** -** $Id: mem3.c,v 1.1 2007/10/19 17:47:25 drh Exp $ +** $Id: mem3.c,v 1.2 2007/10/20 12:34:01 drh Exp $ */ /* @@ -547,6 +547,7 @@ void *sqlite3_realloc(void *pPrior, int nBytes){ sqlite3MemsysAlarm(nBytes); p = internal_malloc(nBytes); if( p==0 ){ + sqlite3_mutex_leave(mem.mutex); return 0; } }