mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 14:16:16 -04:00
- Fixed compile on Windows. Added new type "rs_lock_handle_t" for file locking functions.
- Added missing check of file pointer in PGPHandler::decryptTextFromFile - Added missing fclose of the ssl passphrase file in RsLoginHandler::getSSLPasswdFromGPGFile. Is this still needed, because PGPHandler::decryptTextFromFile does the same check? - Fixed possible memory leak in ops_decrypt_memory. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
dba66cdd7a
commit
f50edd228f
6 changed files with 22 additions and 16 deletions
|
@ -852,7 +852,7 @@ std::string RsDirUtil::makePath(const std::string &path1, const std::string &pat
|
|||
return path;
|
||||
}
|
||||
|
||||
int RsDirUtil::createLockFile(const std::string& lock_file_path,int& lock_handle)
|
||||
int RsDirUtil::createLockFile(const std::string& lock_file_path, rs_lock_handle_t &lock_handle)
|
||||
{
|
||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
#ifndef WINDOWS_SYS
|
||||
|
@ -926,7 +926,7 @@ int RsDirUtil::createLockFile(const std::string& lock_file_path,int& lock_handle
|
|||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
}
|
||||
|
||||
void RsDirUtil::releaseLockFile(int lockHandle)
|
||||
void RsDirUtil::releaseLockFile(rs_lock_handle_t lockHandle)
|
||||
{
|
||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
#ifndef WINDOWS_SYS
|
||||
|
|
|
@ -36,6 +36,13 @@ class RsThread;
|
|||
|
||||
#include <retroshare/rstypes.h>
|
||||
|
||||
#ifndef WINDOWS_SYS
|
||||
typedef int rs_lock_handle_t;
|
||||
#else
|
||||
#include "rswin.h"
|
||||
typedef HANDLE rs_lock_handle_t;
|
||||
#endif
|
||||
|
||||
// This is a scope guard on a given file. Works like a mutex. Is blocking.
|
||||
// We could do that in another way: derive RsMutex into RsLockFileMutex, and
|
||||
// use RsStackMutex on it transparently. Only issue: this will cost little more
|
||||
|
@ -48,7 +55,7 @@ class RsStackFileLock
|
|||
~RsStackFileLock() ;
|
||||
|
||||
private:
|
||||
int _file_handle ;
|
||||
rs_lock_handle_t _file_handle ;
|
||||
};
|
||||
|
||||
namespace RsDirUtil {
|
||||
|
@ -90,10 +97,10 @@ Sha1CheckSum sha1sum(uint8_t *data,uint32_t size) ;
|
|||
// 0: Success
|
||||
// 1: Another instance already has the lock
|
||||
// 2 : Unexpected error
|
||||
int createLockFile(const std::string& lock_file_path,int& lock_handle) ;
|
||||
int createLockFile(const std::string& lock_file_path, rs_lock_handle_t& lock_handle) ;
|
||||
|
||||
// Removes the lock file with specified handle.
|
||||
void releaseLockFile(int lockHandle) ;
|
||||
void releaseLockFile(rs_lock_handle_t lockHandle) ;
|
||||
|
||||
std::wstring getWideTopDir(std::wstring);
|
||||
std::wstring getWideRootDir(std::wstring);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue