On Sat, Mar 27, 2010 at 19:59, Nicolas Pitre <nico@xxxxxxxxxxx> wrote: > On Sat, 27 Mar 2010, Fredrik Kuivinen wrote: > >> On Wed, Mar 24, 2010 at 21:22, Nicolas Pitre <nico@xxxxxxxxxxx> wrote: >> > +static void try_to_free_from_threads(size_t size) >> > +{ >> > + read_lock(); >> > + release_pack_memory(size, -1); >> > + read_unlock(); >> > +} >> > + >> >> Will this really work in all cases? In the find_deltas -> try_delta -> >> read_sha1_file -> ... -> xmalloc call path, the mutex is already >> locked when we get to xmalloc. > > You're right. Damn. A simple fix is to make it a recursive mutex instead. This will work with a minimal change in win32 as well as the CRITICAL_SECTION type is recursive. I guess the downside is that the locking potentially gets slightly slower. - Fredrik -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html