From: Jim Starkey Date: October 7 2008 4:13pm Subject: Per-Thread Memory Cache List-Archive: http://lists.mysql.com/falcon/24 Message-Id: <48EB8AA6.1040000@nimbusdb.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000702080507050009020909" --------------000702080507050009020909 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Attached is my working version of the memory manager from Nimbus with MemThreadCache. -- Jim Starkey President, NimbusDB, Inc. 978 526-1376 --------------000702080507050009020909 Content-Type: application/x-zip-compressed; name="MemMgr.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="MemMgr.zip" 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 --------------000702080507050009020909--