From 2320c6b3b09562a6f9880509355b5d2fc4c20b83 Mon Sep 17 00:00:00 2001 From: krangelov Date: Thu, 28 Oct 2021 19:32:37 +0200 Subject: [PATCH] export alterConcrete too --- src/runtime/haskell/PGF2/FFI.hsc | 6 ++---- src/runtime/haskell/PGF2/Transactions.hsc | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/runtime/haskell/PGF2/FFI.hsc b/src/runtime/haskell/PGF2/FFI.hsc index 74d925a2f..6b91b1fff 100644 --- a/src/runtime/haskell/PGF2/FFI.hsc +++ b/src/runtime/haskell/PGF2/FFI.hsc @@ -11,7 +11,6 @@ import Data.Typeable import Foreign import Foreign.C import Foreign.Ptr -import qualified Foreign.Concurrent as C import qualified Data.Map as Map import Control.Exception(Exception,bracket,mask_,throwIO) import System.IO.Unsafe(unsafePerformIO) @@ -67,7 +66,7 @@ foreign import ccall "pgf_free_revision" pgf_free_revision_ :: Ptr PgfDB -> Ptr foreign import ccall "&pgf_free_revision" pgf_free_revision :: FinalizerEnvPtr PgfDB (PgfRevision PGF) -foreign import ccall pgf_free_concr_revision :: Ptr PgfDB -> Ptr (PgfRevision Concr) -> IO () +foreign import ccall "&pgf_free_concr_revision" pgf_free_concr_revision :: FinalizerEnvPtr PgfDB (PgfRevision Concr) foreign import ccall "pgf_abstract_name" pgf_abstract_name :: Ptr PgfDB -> Ptr (PgfRevision PGF) -> Ptr PgfExn -> IO (Ptr PgfText) @@ -612,8 +611,7 @@ getConcretes c_db c_revision = do where getConcretes :: IORef (Map.Map ConcName Concr) -> ItorCallback getConcretes ref itor key c_revision exn = do - print 1 concrs <- readIORef ref name <- peekText key - fptr <- C.newForeignPtr (castPtr c_revision) (pgf_free_concr_revision c_db (castPtr c_revision)) + fptr <- newForeignPtrEnv pgf_free_concr_revision c_db (castPtr c_revision) writeIORef ref (Map.insert name (Concr c_db fptr) concrs) diff --git a/src/runtime/haskell/PGF2/Transactions.hsc b/src/runtime/haskell/PGF2/Transactions.hsc index 7ee0a6962..d27543d99 100644 --- a/src/runtime/haskell/PGF2/Transactions.hsc +++ b/src/runtime/haskell/PGF2/Transactions.hsc @@ -10,6 +10,7 @@ module PGF2.Transactions , createCategory , dropCategory , createConcrete + , alterConcrete , dropConcrete , setGlobalFlag , setAbstractFlag