summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-06-16 08:49:13 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-06-16 08:49:13 +0000
commitb3f8b90f2b46e89edeada20324e396882612fe2f (patch)
tree644f5779a9c5bed05783e728be7a7d83a237ff45
parent11d8df739e71164977cb6f80ba83167714dcec1a (diff)
fixed memory leak in the Haskell binding to the C runtime
-rw-r--r--src/runtime/haskell-bind/PGF2.hsc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/runtime/haskell-bind/PGF2.hsc b/src/runtime/haskell-bind/PGF2.hsc
index 56f7c0c13..f6bfce25e 100644
--- a/src/runtime/haskell-bind/PGF2.hsc
+++ b/src/runtime/haskell-bind/PGF2.hsc
@@ -76,6 +76,7 @@ languages p =
do fptr <- wrapMapItorCallback (getLanguages ref)
(#poke GuMapItor, fn) itor fptr
pgf_iter_languages (pgf p) itor nullPtr
+ freeHaskellFunPtr fptr
readIORef ref
where
getLanguages :: IORef (Map.Map String Concr) -> MapItorCallback
@@ -171,6 +172,7 @@ lookupMorpho (Concr concr master) sent = unsafePerformIO $
(#poke PgfMorphoCallback, callback) cback fptr
withCString sent $ \c_sent ->
pgf_lookup_morpho concr c_sent cback nullPtr
+ freeHaskellFunPtr fptr
readIORef ref
fullFormLexicon :: Concr -> [(String, [MorphoAnalysis])]