On Wed, 27 Aug 2025, Demi Marie Obenour wrote:

I'm not surprised. Unless some of those callbacks need synchronous processing, this could be handled by using AF_UNIX sockets to notify the main thread. That said, I expect this behavior is for performance reasons, as that is the documented reason for MsQuic to use callbacks on a thread pool MsQuic owns.

I think they chose that solution because it is easier. For them. msh3 turned out to be complicated to support partly because of its threads use.

We can't use name based API that does all this magic under the hood. Magic
that curl needs to own and control itself.

Unfortunately, any program that doesn’t do this will break if VPN On Demand is in use. VPN On Demand startup is based on target domain name, not just on IP address. This means that for a program to work correctly if VPN On Demand is in use, using such an API is required.

Given that not a single user has ever asked for that, it does not seem like a big problem for us.

My recommendation would be to consider this a necessary workaround for a
platform quirk, and accept that this will result in differing behavior.

As no user has asked for it and no developer has offered an implementation, I think we can simply defer the entire discussion.

I do question if requiring identical behavior on all platforms is worth being broken (in a user-visible way) on Apple devices that have VPN On Demand configured.

We never actually achieve 100% "identical behavior" so that's not really what we require. You're still advocating for us to give up core principles "in theory" for a feature no one has asked for and no one has implemented.

I prefer we have that discussion once we have both as then we have actual real code and real facts on the table. Then we know exactly what we talk about and what the decision is about.

--

 / daniel.haxx.se || https://rock-solid.curl.dev
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to