Skip to content

Commit 059a78a

Browse files
authored
Merge pull request #50 from supersonic-copycat/pr
Fix crashes on newer GHC (9.0+)
2 parents 06833d7 + 29ee363 commit 059a78a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Database/HDBC/ODBC/Wrappers.hs

+3-3
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ sqlAllocEnv = do
5555
handleVar <- newMVar (Just hEnv)
5656
let wrapper = EnvWrapper handleVar
5757

58-
addFinalizer wrapper $ freeEnvIfNotAlready wrapper
58+
mkWeakMVar handleVar $ freeEnvIfNotAlready wrapper
5959
return wrapper
6060

6161
freeEnvIfNotAlready :: EnvWrapper -> IO ()
@@ -98,7 +98,7 @@ sqlAllocDbc env = do
9898
oldStmtsVar <- newMVar []
9999
let wrapper = DbcWrapper handleVar env oldStmtsVar
100100

101-
addFinalizer wrapper $ freeDbcIfNotAlready False wrapper
101+
mkWeakMVar oldStmtsVar $ freeDbcIfNotAlready False wrapper
102102
return wrapper
103103

104104
freeOldStmts :: DbcWrapper -> IO ()
@@ -163,7 +163,7 @@ sqlAllocStmt dbc = do
163163
handleVar <- newMVar $ Just hStmt
164164
let wrapper = StmtWrapper handleVar dbc
165165

166-
addFinalizer wrapper $ freeStmtIfNotAlready wrapper
166+
mkWeakMVar handleVar $ freeStmtIfNotAlready wrapper
167167
return wrapper
168168

169169
freeStmtIfNotAlready :: StmtWrapper -> IO ()

0 commit comments

Comments
 (0)