- 04 Jun, 2017 1 commit
-
-
Max Kellermann authored
-
- 15 May, 2017 1 commit
-
-
Max Kellermann authored
See commit 71f0ed8b
-
- 08 May, 2017 2 commits
-
-
Max Kellermann authored
The "pure" and "const" attributes are not so well-defined, and a recent clang version implements an optimization which pushes the definition's boundary beyond what I believed it was. clang now assumes that functions declared "pure" cannot throw exceptions, even if they lack the "noexcept" specification. When compiled with this new clang version, MPD will crash randomly if an exception happens to get thrown by such as "pure" function (https://github.com/MusicPlayerDaemon/MPD/issues/41). This commit removes all such misplaced "pure" and "const" attributes, closing #41.
-
Max Kellermann authored
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
-
- 29 Mar, 2017 1 commit
-
-
Max Kellermann authored
-
- 10 Mar, 2017 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 09 Feb, 2017 1 commit
-
-
Max Kellermann authored
-
- 08 Feb, 2017 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 06 Feb, 2017 1 commit
-
-
Max Kellermann authored
-
- 01 Feb, 2017 2 commits
-
-
Max Kellermann authored
Fixes race condition when epoll_ctl() gets called after the socket has been closed, which may affect a different socket created by another thread meanwhile.
-
Max Kellermann authored
When rpc_reconnect_requeue() gets called from inside nfs_service(), the NfsInputStream can stall completely because the old socket has been unregistered from epoll automatically, but the new one has never been registered. Therefore, nfs_service() will never be called again. This kludge attempts to detect this condition by checking nfs_which_events()==POLLOUT. https://bugs.musicpd.org/view.php?id=4081
-
- 26 Jan, 2017 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Make sure we're using the same EventLoop as the NfsManager.
-
Max Kellermann authored
-
- 25 Jan, 2017 1 commit
-
-
Max Kellermann authored
Eliminate dependency on io_thread_get().
-
- 23 Jan, 2017 7 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
With "ok==false", newly created threads may quit instantly.
-
Max Kellermann authored
libupnp provides seconds, not whatever time unit is used by std::chrono::steady_clock.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 17 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 14 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 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.
-