[Haskell-cafe] Network.Curl cookie jar madness
Michael Orlitzky
michael at orlitzky.com
Sun Aug 19 20:54:06 CEST 2012
On 08/19/2012 12:58 PM, Iustin Pop wrote:
>
> On more investigation, this seems to be due to the somewhat careless use
> of Foreign.Concurrent; from the docs:
>
> “The finalizer will be executed after the last reference to the
> foreign object is dropped. There is no guarantee of promptness, and in
> fact there is no guarantee that the finalizer will eventually run at
> all.”
>
> Also, see http://hackage.haskell.org/trac/ghc/ticket/1364.
>
> So it seems that the intended way of cleaning up curl handles is all
> fine and dandy if one doesn't require timely cleanup; in most cases,
> this is not needed, but for cookies it is broken.
>
> I don't know what the proper solution is; either way, it seems that
> there should be a way to force the cleanup to be run, via
> finalizeForeignPtr, or requiring full manual handling of curl handles
> (instead of via finalizers).
>
> Gah, native libs++.
>
Wow, thanks for the in-depth analysis. I'll just switch to
Network.Browser or its conduit counterpart.
More information about the Haskell-Cafe
mailing list