-
Notifications
You must be signed in to change notification settings - Fork 11
Changelog v0.2.0.0 #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Linux man 3 resolver says: Every call to res_ninit() requires a corresponding call to res_nclose() to free memory allocated by res_ninit() and subsequent calls to res_nquery().
withCResInit which makes sure that allocated resources get correctly released by wrapping actions following a successful call to c_res_init in finally handler.
This protects against asynchronous exceptions. If an asynchronous exception happens somewhere inside of rc1 <- c_res_opt_set_use_dnssec stptr unless (rc1 == 0) $ fail "res_init(3) failed" resetErrno then it may leak memory after successful call to res_ninit() inside c_res_opt_set_use_dnssec. Note that it is safe to run c_res_close stptr if all fields of stptr are memzeroed (which is our case before the call to res_ninit()): this means that wrapping the entire body of withCResInit is safe even if an asynchronous exception occurs before the call to res_ninit().
Version in resolv.cabal must be also bumped to |
I did this on The changelog you wrote is good! Once everything is ready for release, the release date has to be inserted here. |
Me too, please review! |
Candidate looks fine: https://hackage.haskell.org/package/resolv-0.2.0.0/candidate Shall I release? |
Yes, I think it's ok to release! |
Done! Thanks for the nice collaboration! |
Andreas: Candidate at: https://hackage.haskell.org/package/resolv-0.2.0.0/candidate