Skip to content
This repository has been archived by the owner on Apr 4, 2018. It is now read-only.

Commit

Permalink
Free memory.
Browse files Browse the repository at this point in the history
Free ptr in Message in messageClose.
Also close socket and terminate context in performance examples.
  • Loading branch information
Toralf Wittner committed Jan 22, 2010
1 parent dd6ad18 commit f65cca6
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 5 deletions.
4 changes: 3 additions & 1 deletion src/System/ZMQ.hs
Expand Up @@ -278,7 +278,9 @@ messageOf b = UB.unsafeUseAsCStringLen b $ \(cstr, len) -> do
return msg

messageClose :: Message -> IO ()
messageClose = throwErrnoIfMinus1_ "messageClose" . c_zmq_msg_close . msgPtr
messageClose (Message ptr) = do
throwErrnoIfMinus1_ "messageClose" $ c_zmq_msg_close ptr
free ptr

messageInit :: IO Message
messageInit = do
Expand Down
10 changes: 6 additions & 4 deletions test/perf/local_lat.hs
Expand Up @@ -11,13 +11,15 @@ main = do
when (length args /= 3) $ do
hPutStrLn stderr usage
exitFailure
let bindTo = args !! 0
msgSize = read $ args !! 1 :: Int
rounds = read $ args !! 2
let bindTo = args !! 0
size = read $ args !! 1
rounds = read $ args !! 2
c <- ZMQ.init 1 1 False
s <- ZMQ.socket c ZMQ.Rep
ZMQ.bind s bindTo
loop s rounds msgSize
loop s rounds size
ZMQ.close s
ZMQ.term c
where
loop s r sz = unless (r <= 0) $ do
msg <- ZMQ.receive s []
Expand Down
2 changes: 2 additions & 0 deletions test/perf/remote_lat.hs
Expand Up @@ -23,6 +23,8 @@ main = do
loop s rounds message
end <- getCurrentTime
print (diffUTCTime end start)
ZMQ.close s
ZMQ.term c
where
loop s r msg = unless (r <= 0) $ do
ZMQ.send s msg []
Expand Down

0 comments on commit f65cca6

Please sign in to comment.