X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FHash.c;h=38cb65a7eb49054a1d7e9d7d30b329f3302e038a;hb=063123a0a1b51609108aa4487894b78492411fb1;hp=50fb3bc139bf0b501f72b2c2ed397f6e3f0f923f;hpb=70c64f33c1216f299c4377caf84465d79bb83350;p=ghc-hetmet.git diff --git a/ghc/rts/Hash.c b/ghc/rts/Hash.c index 50fb3bc..38cb65a 100644 --- a/ghc/rts/Hash.c +++ b/ghc/rts/Hash.c @@ -1,5 +1,5 @@ /*----------------------------------------------------------------------------- - * $Id: Hash.c,v 1.5 2001/06/27 11:29:10 sewardj Exp $ + * $Id: Hash.c,v 1.9 2002/07/17 09:21:49 simonmar Exp $ * * (c) The AQUA Project, Glasgow University, 1995-1998 * (c) The GHC Team, 1999 @@ -9,10 +9,14 @@ * pp. 446 -- 457. * -------------------------------------------------------------------------- */ +#include "PosixSource.h" #include "Rts.h" #include "Hash.h" #include "RtsUtils.h" +#include +#include + #define HSEGSIZE 1024 /* Size of a single hash table segment */ /* Also the minimum size of a hash table */ #define HDIRSIZE 1024 /* Size of the segment directory */ @@ -281,6 +285,7 @@ removeHashTable(HashTable *table, StgWord key, void *data) table->dir[segment][index] = hl->next; else prev->next = hl->next; + freeHashList(hl); table->kcount--; return hl->data; }