diff options
| author | randomdan <randomdan@localhost> | 2010-11-12 00:27:39 +0000 | 
|---|---|---|
| committer | randomdan <randomdan@localhost> | 2010-11-12 00:27:39 +0000 | 
| commit | c5686d6fd71a8d760d782079dd4234a065e2b43a (patch) | |
| tree | cac564d890f5f60be156117d930054413adf74db /netfs/fuse.h | |
| parent | Reopen files and directories on reauthentication (diff) | |
| download | netfs-c5686d6fd71a8d760d782079dd4234a065e2b43a.tar.bz2 netfs-c5686d6fd71a8d760d782079dd4234a065e2b43a.tar.xz netfs-c5686d6fd71a8d760d782079dd4234a065e2b43a.zip | |
Add locking for safe multi-threaded use in client
Fix bug with symlink name
Fix bug with stating symlinks
Diffstat (limited to 'netfs/fuse.h')
| -rw-r--r-- | netfs/fuse.h | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/netfs/fuse.h b/netfs/fuse.h index b16a67c..707e54a 100644 --- a/netfs/fuse.h +++ b/netfs/fuse.h @@ -1,6 +1,7 @@  #ifndef FUSE_H  #define FUSE_H +#include <boost/thread/mutex.hpp>  #include <Ice/Ice.h>  #include "netfsComms.h"  #include "fuseapp.h" @@ -8,6 +9,8 @@  #include "entCache.h"  #include "intrusivePtrBase.h" +#define LOCK boost::unique_lock<boost::mutex> _lck(lock) +  class NetFS : public FuseAppBase   {  	private: @@ -44,6 +47,7 @@ class NetFS : public FuseAppBase  		void * init (struct fuse_conn_info * info);  		int opt_parse(void *, const char * arg, int key, struct fuse_args *);  		void connect(); +		void connect_nl();  		// misc  		int access(const char * p, int a);  		int getattr(const char * p, struct stat * s); @@ -75,7 +79,9 @@ class NetFS : public FuseAppBase  		// stuff  		int onError(const std::exception & err) throw();  		int getNextFileID(); +		Ice::Int getRemoteIDforFile(int localID) const;  		int getNextDirID(); +		Ice::Int getRemoteIDforDir(int localID) const;  		ReqEnv reqEnv(); @@ -83,6 +89,7 @@ class NetFS : public FuseAppBase  		char ** _argv;  		Ice::CommunicatorPtr ic;  		FuseConfigPtr fc; +		mutable boost::mutex lock;  		NetFSComms::FileSystemPrx filesystem;  		NetFSComms::ServicePrx service; | 
