Max Kellermann
|
edd003b62a
|
lib/nfs/Connection: fix memory leak when cancelling Open()
Close the newly allocated file handle passed to the callback.
|
2014-10-01 23:03:31 +02:00 |
|
Max Kellermann
|
10cc87e422
|
lib/nfs/Connection: remove Mutex
All locks are currenly held from only a single thread (the IOThread)
and thus we don't need the Mutex.
|
2014-10-01 22:15:06 +02:00 |
|
Max Kellermann
|
0470f648c6
|
lib/nfs/Connection: add method GetEventLoop()
|
2014-10-01 22:10:46 +02:00 |
|
Max Kellermann
|
777360149d
|
lib/nfs/Connection: remove obsolete flag postponed_destroy
|
2014-10-01 22:10:05 +02:00 |
|
Max Kellermann
|
aa7774b82b
|
lib/nfs/Connection: remove deprecated move constructor workaround
Not used anymore because NfsManager now uses boost::intrusive::set
instead of std::map.
|
2014-10-01 22:09:37 +02:00 |
|
Max Kellermann
|
f9ad73598b
|
lib/nfs/Manager: use boost::intrusive::map
Reduce overhead for storing the key twice, and more overhead while
looking up the connection to remove it after a failure.
|
2014-10-01 20:49:40 +02:00 |
|
Max Kellermann
|
952fe98796
|
lib/nfs/Glue: add assertion
|
2014-10-01 20:44:54 +02:00 |
|
Max Kellermann
|
579912e52f
|
lib/nfs/Glue: destruct the NfsManager in the I/O thread
This allows eliminating the indirection code from the NfsConnection
destructor.
|
2014-10-01 20:39:50 +02:00 |
|
Max Kellermann
|
1b5ec3e3ca
|
lib/nfs/Glue: eliminate class NfsGlue
It's just a useless wrapper for class NfsManager.
|
2014-10-01 20:37:25 +02:00 |
|
Max Kellermann
|
fb4e6ac923
|
lib/nfs/Cancellable: use boost::intrusive::list
Reduce Remove() overhead because we don't have to walk the list to
find an iterator by reference.
|
2014-10-01 19:49:38 +02:00 |
|
Max Kellermann
|
43da1686da
|
nfs/Connection: check for disappearing libnfs socket
|
2014-08-31 19:33:08 +02:00 |
|
Max Kellermann
|
6d643f92b7
|
nfs/Connection: use only BroadcastError()
Since BroadcastError() calls BroadcastMountError(), there's no need to
check mount_finished here.
|
2014-08-31 19:32:41 +02:00 |
|
Max Kellermann
|
559a01f585
|
nfs/Connection: nfs_get_fd() can return -1
While reconnecting to the NFS server, the socket is -1, because there
is no socket. Fixes a potential crash (assertion failure).
|
2014-08-31 19:08:26 +02:00 |
|
Max Kellermann
|
fd8a53ca3d
|
nfs/Connection: use nfs_get_error() for mount error
|
2014-08-31 17:44:35 +02:00 |
|
Max Kellermann
|
8707aafaf7
|
nfs/Connection: fix assertion failure
|
2014-08-31 17:39:33 +02:00 |
|
Max Kellermann
|
b373c53ce4
|
*: add missing Compiler.h includes
Necessary for "final" on gcc 4.6.
|
2014-08-30 00:46:52 +02:00 |
|
Max Kellermann
|
3f695fdfaf
|
lib/nfs/Connection: include poll.h
|
2014-06-30 10:22:08 +02:00 |
|
Max Kellermann
|
eb8fd07900
|
lib/nfs/Manager: gcc 4.7 compatibility hack
std::map::emplace() is only available from gcc 4.8 on.
|
2014-06-17 10:35:34 +02:00 |
|
Max Kellermann
|
c99559dbe9
|
input/nfs: use the asynchronous libnfs API
More robust and cancellable.
|
2014-06-17 03:21:25 +02:00 |
|
Max Kellermann
|
d761d8b168
|
input/nfs: move nfs_domain to lib/nfs/Domain.cxx
|
2014-02-08 14:24:47 +01:00 |
|