On 12. 12. 25 20:49, Branko Čibej wrote:

The problem is that the error callback is global, not connection- or at least context-specific. That simply doesn't scale.


In addition to not scaling, it's also a headache for Serf's threading model. Serf functions are always called within a single thread associated with serf_context_t, but the application can be multi-threaded and have multiple contexts active in parallel. The error callbacks will have no idea which thread it was called from.

Serf has very little global mutable data, I think only the recent changes for registering authentication methods introduce global locks. More locking == more opportunities for subtle errors.

-- Brane

Reply via email to