summaryrefslogtreecommitdiff
path: root/src/lib/nfs
AgeCommit message (Collapse)Author
2018-07-06Merge branch 'v0.20.x'Max Kellermann
2018-07-06lib/nfs/Connection: use new class NfsClientErrorMax Kellermann
Allows callers to extract the NFS error code.
2018-02-24Merge tag 'v0.20.18'Max Kellermann
release v0.20.18
2018-02-24lib/nfs/FileReader: move sys/stat.h to header because "struct stat" may be macroMax Kellermann
It indeed is a macro on Windows.
2018-02-24lib/nfs/Connection: use winsock2.h instead of poll.h on WindowsMax Kellermann
2017-11-12lib/nfs: add "noexcept"Max Kellermann
2017-11-12event/IdleMonitor: add "noexcept"Max Kellermann
2017-11-10lib/nfs: migrate from DeferredMonitor to DeferEventMax Kellermann
2017-11-10lib/nfs/FileReader: use C++11 initializersMax Kellermann
2017-11-10event/SocketMonitor: add "noexcept"Max Kellermann
2017-08-29lib/nfs/Connection: migrate from TimeoutMonitor to TimerEventMax Kellermann
2017-08-10event/SocketMonitor: use class SocketDescriptorMax Kellermann
2017-08-10lib/nfs/Connection: use class SocketDescriptorMax Kellermann
2017-06-04Merge tag 'v0.20.9'Max Kellermann
release v0.20.9
2017-06-04*: add lost of "noexcept" specificationsMax Kellermann
2017-05-15*: add "noexcept" to many, many function prototypesMax Kellermann
See commit 71f0ed8b7499011b53f90998ebfbd3250fd80948
2017-05-15Merge tag 'v0.20.7'Max Kellermann
release v0.20.7
2017-05-08*: add "noexcept" to many, many function prototypesMax Kellermann
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
2017-02-08lib/nfs/FileReader: remove debug lineMax Kellermann
2017-02-06configure.ac: prepare for 0.20.5Max Kellermann
2017-02-01Merge tag 'v0.20.4'Max Kellermann
release v0.20.4
2017-02-01lib/nfs/Connection: detect socket hangup and unregister from epollMax Kellermann
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.
2017-02-01lib/nfs/Connection: detect libnfs reconnectMax Kellermann
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
2017-01-26lib/nfs/FileReader: use nfs_get_event_loop()Max Kellermann
Make sure we're using the same EventLoop as the NfsManager.
2017-01-26lib/nfs/Glue: add EventLoop& accessorMax Kellermann
2017-01-25lib/nfs/{FileReader,Glue}: pass EventLoop&Max Kellermann
Eliminate dependency on io_thread_get().
2017-01-15lib/nfs: add more API documentationMax Kellermann
2017-01-03update copyright yearMax Kellermann
2017-01-03thread/Mutex: remove ScopeLock, use std::lock_guard directlyMax Kellermann
2016-12-29lib/nfs/Blocking, neighbor/smbclient: pass std::chrono::duration to ↵Max Kellermann
Cond::timed_wait()
2016-12-28event/Loop: use std::chronoMax Kellermann
2016-11-10util/Error: remove obsolete classMax Kellermann
2016-09-16{input,storage}/nfs: use C++ exceptions instead of class ErrorMax Kellermann
2016-09-09input/Plugin: migrate open() from class Error to C++ exceptionsMax Kellermann
2016-08-05Merge tag 'v0.19.18'Max Kellermann
release v0.19.18
2016-08-05lib/nfs/Manager: add Compare(ManagedConnection, ManagedConnection)Max Kellermann
Required for Boost 1.61, which uses that overload in a BOOST_ASSERT().
2016-03-01*: include cleanup (using iwyu)Max Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2015-11-06util/StringUtil: move comparison functions to StringCompare.cxxMax Kellermann
2015-10-19util/DeleteDisposer: new utility classMax Kellermann
2015-01-01Copyright year 2015Max Kellermann
2014-12-15storage/nfs: add timeoutMax Kellermann
2014-12-15lib/nfs/Connection: unregister socket with SocketMonitor::Steal()Max Kellermann
SocketMonitor::Cancel() does not actually unregister the socket; it only disables the event.
2014-12-15lib/nfs/Connection: implement mount timeoutMax Kellermann
2014-12-15lib/nfs/Connection: add debug flag "in_destroy"Max Kellermann
2014-12-14lib/nfs/Connection: add assertionMax Kellermann
2014-12-14lib/nfs/Connection: fix reconnect after mount failureMax Kellermann
When mounting had not yet finished, SocketMonitor::IsDefined() was always false, due to the workaround at the beginning of the function that calls SocketMonitor::Steal(). This commit drops the IsDefined() check because it was never necessary and breaks reconnect.
2014-12-14lib/nfs/Connection: fix typo in code commentMax Kellermann
2014-12-14lib/nfs/Connection: fix memory leak (and assertion failure)Max Kellermann
nfs_destroy_context() will invoke all pending callbacks with err==-EINTR. In CancellableCallback::Callback(), this will invoke NfsConnection::DeferClose(), which however is only designed to be called from nfs_service(). In non-debug mode, this will leak memory because nfs_close_async() is never called. Workaround: before nfs_destroy_context(), invoke nfs_close_async() on all pending file handles.
2014-12-14lib/nfs/Connection: move code to Service()Max Kellermann