- 08 Jan, 2017 10 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
libcurl's WRITEFUNCTION is pretty fragile; if we destroy the CURL* instance or even unregister it using curl_multi_remove_handle(), libcurl will crash instantly. But still we need to be able to handle exceptions from inside the WRITEFUNCTION, and call CurlResponseHandler::OnError(), which may destroy the whole thing. As a workaround, I use DeferredMonitor to postpone the OnError() call into a stack frame which is allowed to destroy the request.
-
Max Kellermann authored
Let the caller decide what to do with the exception.
-
Max Kellermann authored
When the request is done, only unregister the CURL* handle, but do not delete it yet - it may still be needed for CURLINFO_RESPONSE_CODE.
-
Max Kellermann authored
Convert assertion to runtime check. This is useful because this is a public method, and the caller has no chance to check if the object is still registered.
-
Max Kellermann authored
Fixes a crash that can occur due to recursion from InvalidateSockets() to ReadInfo() to CurlRequest callbacks.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 07 Jan, 2017 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
This allows constructing an instance in any thread, and register it inside the IOThread later.
-
Max Kellermann authored
Eliminate one unnecessary dependency for debug programs which don't need the InputStream API.
-
- 06 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 03 Jan, 2017 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
The CurlRequest gives us a more low-level API to CURL without the InputStream interface, integrated into our IOThread.
-
Max Kellermann authored
-
Max Kellermann authored
-
- 29 Dec, 2016 1 commit
-
-
Max Kellermann authored
-
- 28 Dec, 2016 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 19 Dec, 2016 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 10 Nov, 2016 1 commit
-
-
Max Kellermann authored
-
- 02 Nov, 2016 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 31 Oct, 2016 1 commit
-
-
Max Kellermann authored
-
- 29 Oct, 2016 1 commit
-
-
Max Kellermann authored
-
- 28 Oct, 2016 1 commit
-
-
- 27 Oct, 2016 1 commit
-
-
Max Kellermann authored
-
- 16 Sep, 2016 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 09 Sep, 2016 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Make all the locks exception-safe.
-
- 05 Sep, 2016 1 commit
-
-
Max Kellermann authored
-
- 05 Aug, 2016 1 commit
-
-
Max Kellermann authored
Required for Boost 1.61, which uses that overload in a BOOST_ASSERT().
-
- 28 Jul, 2016 1 commit
-
-
Max Kellermann authored
-