Hello, I'm debugging a bug in my program using the multi interface.  I'm still 
trying to work out some details but I thought maybe someone who knows the 
codebase better than I might just see it as obvious.

In my case, I am setting SOCKETFUNCTION, TIMERFUNCTION, and CLOSESOCKETFUNCTION 
because I need to manage the sockets myself (I'm integrating curl against a 
concurrency library in Ocaml).  Because of how the concurrency library works, 
instead of doing any work in those callbacks functions, I'm adding the event to 
a queue then processing the events after a "perform" or "action" call.

What I'm seeing is that I have a POLL_REMOVE call for a socket, but then my 
CLOSESOCKETFUNCTION callback is not being called.  I can see in the ktrace logs 
that the socket is directly being closed with "close".

I *think* this is happening due libcurl deciding the connection has timed out 
and some logic chooses not to execute the close callback.  But I'm not entirely 
sure.

Any idea how I can turn on the tracing for cf-socket.c?  I have set the global 
trace to 'all' but I am not seeing the logs I am looking for?

I am on FreeBSD use curl 8.11.1.

Thank you

/Malcolm
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to