void-packages/srcpkgs/MEGAcmd/patches/megacmd-sdk36.diff

382 lines
12 KiB
Diff

--- src/comunicationsmanagerfilesockets.cpp
+++ src/comunicationsmanagerfilesockets.cpp
@@ -134,14 +134,13 @@ int ComunicationsManagerFileSockets::create_new_socket(int *sockId)
ComunicationsManagerFileSockets::ComunicationsManagerFileSockets()
{
count = 0;
- mtx = new MegaMutex();
- informerMutex = new MegaMutex(false);
+ mtx = new std::recursive_mutex();
+ informerMutex = new std::recursive_mutex();
initialize();
}
int ComunicationsManagerFileSockets::initialize()
{
- mtx->init(false);
MegaFileSystemAccess *fsAccess = new MegaFileSystemAccess();
char csocketsFolder[34]; // enough to hold all numbers up to 64-bits
@@ -394,7 +393,7 @@ void ComunicationsManagerFileSockets::sendPartialOutput(CmdPetition *inf, OUTSTR
int ComunicationsManagerFileSockets::informStateListener(CmdPetition *inf, string &s)
{
- MutexGuard g(*informerMutex);
+ std::lock_guard<std::recursive_mutex> g(*informerMutex);
LOG_verbose << "Inform State Listener: Output to write in socket " << ((CmdPetitionPosixSockets *)inf)->outSocket << ": <<" << s << ">>";
sockaddr_in cliAddr;
--- src/comunicationsmanagerfilesockets.h
+++ src/comunicationsmanagerfilesockets.h
@@ -58,8 +58,8 @@ private:
// to get next socket id
int count;
- mega::MegaMutex *mtx;
- mega::MegaMutex *informerMutex;
+ std::recursive_mutex *mtx;
+ std::recursive_mutex *informerMutex;
/**
* @brief create_new_socket
--- src/comunicationsmanagerportsockets.cpp
+++ src/comunicationsmanagerportsockets.cpp
@@ -161,13 +161,12 @@ SOCKET ComunicationsManagerPortSockets::create_new_socket(int *sockId)
ComunicationsManagerPortSockets::ComunicationsManagerPortSockets()
{
count = 0;
- mtx = new MegaMutex();
+ mtx = new std::recursive_mutex();
initialize();
}
int ComunicationsManagerPortSockets::initialize()
{
- mtx->init(false);
#if _WIN32
WORD wVersionRequested;
WSADATA wsaData;
--- src/comunicationsmanagerportsockets.h
+++ src/comunicationsmanagerportsockets.h
@@ -69,7 +69,7 @@ private:
// to get next socket id
int count;
- mega::MegaMutex *mtx;
+ std::recursive_mutex *mtx;
/**
* @brief create_new_socket
--- src/listeners.cpp
+++ src/listeners.cpp
@@ -902,7 +902,6 @@ MegaCmdGlobalTransferListener::MegaCmdGlobalTransferListener(MegaApi *megaApi, M
this->megaApi = megaApi;
this->sandboxCMD = sandboxCMD;
this->listener = parent;
- completedTransfersMutex.init(false);
};
void MegaCmdGlobalTransferListener::onTransferFinish(MegaApi* api, MegaTransfer *transfer, MegaError* error)
--- src/listeners.h
+++ src/listeners.h
@@ -178,7 +178,7 @@ private:
static const int MAXCOMPLETEDTRANSFERSBUFFER;
public:
- mega::MegaMutex completedTransfersMutex;
+ std::recursive_mutex completedTransfersMutex;
std::deque<mega::MegaTransfer *> completedTransfers;
std::map<mega::MegaHandle,std::string> completedPathsByHandle;
public:
--- src/megacmd.cpp
+++ src/megacmd.cpp
@@ -103,11 +103,11 @@ MegaApi *api;
std::queue<MegaApi *> apiFolders;
std::vector<MegaApi *> occupiedapiFolders;
MegaSemaphore semaphoreapiFolders;
-MegaMutex mutexapiFolders;
+std::recursive_mutex mutexapiFolders;
MegaCMDLogger *loggerCMD;
-MegaMutex mutexEndedPetitionThreads;
+std::recursive_mutex mutexEndedPetitionThreads;
std::vector<MegaThread *> petitionThreads;
std::vector<MegaThread *> endedPetitionThreads;
MegaThread *threadRetryConnections;
@@ -194,7 +194,7 @@ static prompttype prompt = COMMAND;
// local console
Console* console;
-MegaMutex mutexHistory;
+std::recursive_mutex mutexHistory;
map<unsigned long long, string> threadline;
@@ -4411,9 +4411,7 @@ int main(int argc, char* argv[])
loggerCMD->setCmdLoggerLevel(MegaApi::LOG_LEVEL_MAX);
}
- mutexHistory.init(false);
- mutexEndedPetitionThreads.init(false);
ConfigurationManager::loadConfiguration(( argc > 1 ) && debug);
if (!ConfigurationManager::lockExecution() && !skiplockcheck)
@@ -4476,7 +4474,6 @@ int main(int argc, char* argv[])
semaphoreClients.release();
}
- mutexapiFolders.init(false);
LOG_debug << "Language set to: " << localecode;
--- src/megacmdexecuter.cpp
+++ src/megacmdexecuter.cpp
@@ -124,12 +124,6 @@ MegaCmdExecuter::MegaCmdExecuter(MegaApi *api, MegaCMDLogger *loggerCMD, MegaCmd
api->addTransferListener(globalTransferListener);
cwd = UNDEF;
fsAccessCMD = new MegaFileSystemAccess();
- mtxSyncMap.init(false);
- mtxWebDavLocations.init(false);
- mtxFtpLocations.init(false);
-#ifdef ENABLE_BACKUPS
- mtxBackupsMap.init(true);
-#endif
session = NULL;
}
--- src/megacmdexecuter.h
+++ src/megacmdexecuter.h
@@ -33,12 +33,12 @@ private:
MegaCMDLogger *loggerCMD;
MegaCmdSandbox *sandboxCMD;
MegaCmdGlobalTransferListener *globalTransferListener;
- mega::MegaMutex mtxSyncMap;
- mega::MegaMutex mtxWebDavLocations; //TODO: destroy these two
- mega::MegaMutex mtxFtpLocations;
+ std::recursive_mutex mtxSyncMap;
+ std::recursive_mutex mtxWebDavLocations; //TODO: destroy these two
+ std::recursive_mutex mtxFtpLocations;
#ifdef ENABLE_BACKUPS
- mega::MegaMutex mtxBackupsMap;
+ std::recursive_mutex mtxBackupsMap;
#endif
// login/signup e-mail address
--- src/megacmdlogger.cpp
+++ src/megacmdlogger.cpp
@@ -38,7 +38,7 @@ using namespace std;
using namespace mega;
// different outstreams for every thread. to gather all the output data
-MUTEX_CLASS threadLookups(false);
+std::mutex threadLookups;
map<uint64_t, LoggedStream *> outstreams;
map<uint64_t, int> threadLogLevel;
map<uint64_t, int> threadoutCode;
@@ -50,7 +50,7 @@ LoggedStream LCOUT(&COUT);
LoggedStream &getCurrentOut()
{
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
uint64_t currentThread = MegaThread::currentThreadId();
if (outstreams.find(currentThread) == outstreams.end())
{
@@ -71,7 +71,7 @@ bool interactiveThread()
unsigned long long currentThread = MegaThread::currentThreadId();
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
if (outstreams.find(currentThread) == outstreams.end())
{
return true;
@@ -86,7 +86,7 @@ int getCurrentOutCode()
{
unsigned long long currentThread = MegaThread::currentThreadId();
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
if (threadoutCode.find(currentThread) == threadoutCode.end())
{
return 0; //default OK
@@ -102,7 +102,7 @@ CmdPetition * getCurrentPetition()
{
unsigned long long currentThread = MegaThread::currentThreadId();
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
if (threadpetition.find(currentThread) == threadpetition.end())
{
return NULL;
@@ -117,7 +117,7 @@ int getCurrentThreadLogLevel()
{
unsigned long long currentThread = MegaThread::currentThreadId();
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
if (threadLogLevel.find(currentThread) == threadLogLevel.end())
{
return -1;
@@ -132,7 +132,7 @@ bool getCurrentThreadIsCmdShell()
{
unsigned long long currentThread = MegaThread::currentThreadId();
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
if (threadIsCmdShell.find(currentThread) == threadIsCmdShell.end())
{
return false; //default not
@@ -146,31 +146,31 @@ bool getCurrentThreadIsCmdShell()
void setCurrentThreadLogLevel(int level)
{
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
threadLogLevel[MegaThread::currentThreadId()] = level;
}
void setCurrentThreadOutStream(LoggedStream *s)
{
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
outstreams[MegaThread::currentThreadId()] = s;
}
void setCurrentThreadIsCmdShell(bool isit)
{
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
threadIsCmdShell[MegaThread::currentThreadId()] = isit;
}
void setCurrentOutCode(int outCode)
{
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
threadoutCode[MegaThread::currentThreadId()] = outCode;
}
void setCurrentPetition(CmdPetition *petition)
{
- MutexGuard g(threadLookups);
+ std::lock_guard<std::mutex> g(threadLookups);
threadpetition[MegaThread::currentThreadId()] = petition;
}
@@ -179,7 +179,7 @@ MegaCMDLogger::MegaCMDLogger()
{
this->output = &LCOUT;
this->apiLoggerLevel = MegaApi::LOG_LEVEL_ERROR;
- this->outputmutex = new MegaMutex(false);
+ this->outputmutex = new std::recursive_mutex;
}
MegaCMDLogger::~MegaCMDLogger()
@@ -199,7 +199,7 @@ void MegaCMDLogger::log(const char *time, int loglevel, const char *source, cons
if (loglevel <= cmdLoggerLevel)
{
#ifdef _WIN32
- MutexGuard g(*outputmutex);
+ std::lock_guard<std::mutex> g(*outputmutex);
int oldmode;
oldmode = _setmode(_fileno(stdout), _O_U8TEXT);
*output << "[" << SimpleLogger::toStr(LogLevel(loglevel)) << ": " << time << "] " << message << endl;
@@ -233,7 +233,7 @@ void MegaCMDLogger::log(const char *time, int loglevel, const char *source, cons
return;
}
#ifdef _WIN32
- MutexGuard g(*outputmutex);
+ std::lock_guard<std::mutex> g(*outputmutex);
int oldmode;
oldmode = _setmode(_fileno(stdout), _O_U8TEXT);
*output << "[API:" << SimpleLogger::toStr(LogLevel(loglevel)) << ": " << time << "] " << message << endl;
--- src/megacmdlogger.h
+++ src/megacmdlogger.h
@@ -112,7 +112,7 @@ private:
int apiLoggerLevel;
int cmdLoggerLevel;
LoggedStream * output;
- mega::MegaMutex *outputmutex;
+ std::recursive_mutex *outputmutex;
public:
MegaCMDLogger();
--- src/megacmdshell/megacmdshell.cpp
+++ src/megacmdshell/megacmdshell.cpp
@@ -199,7 +199,7 @@ bool confirmingcancellink = false;
// communications with megacmdserver:
MegaCmdShellCommunications *comms;
-MUTEX_CLASS mutexPrompt(false);
+std::mutex mutexPrompt;
void printWelcomeMsg(unsigned int width = 0);
@@ -627,7 +627,7 @@ void install_rl_handler(const char *theprompt)
void changeprompt(const char *newprompt, bool redisplay)
{
- MutexGuard g(mutexPrompt);
+ std::lock_guard<std::mutex> g(mutexPrompt);
if (*dynamicprompt)
{
--- src/megacmdshell/megacmdshellcommunications.cpp
+++ src/megacmdshell/megacmdshellcommunications.cpp
@@ -80,7 +80,7 @@ bool MegaCmdShellCommunications::stopListener;
bool MegaCmdShellCommunications::updating;
::mega::Thread *MegaCmdShellCommunications::listenerThread;
SOCKET MegaCmdShellCommunications::newsockfd = INVALID_SOCKET;
-MegaMutex MegaCmdShellCommunications::megaCmdStdoutputing;
+std::recursive_mutex MegaCmdShellCommunications::megaCmdStdoutputing;
bool MegaCmdShellCommunications::socketValid(SOCKET socket)
{
@@ -483,7 +483,6 @@ MegaCmdShellCommunications::MegaCmdShellCommunications()
stopListener = false;
updating = false;
listenerThread = NULL;
- MegaCmdShellCommunications::megaCmdStdoutputing.init(false);
}
--- src/megacmdshell/megacmdshellcommunications.h
+++ src/megacmdshell/megacmdshellcommunications.h
@@ -26,6 +26,7 @@
#include <string>
#include <iostream>
+#include <mutex>
#ifdef _WIN32
#include <WinSock2.h>
@@ -40,15 +41,12 @@
#if defined(_WIN32) && !defined(WINDOWS_PHONE) && !defined(USE_CPPTHREAD)
#include "mega/thread/win32thread.h"
-class MegaMutex : public ::mega::Win32Mutex {};
class MegaThread : public ::mega::Win32Thread {};
#elif defined(USE_CPPTHREAD)
#include "mega/thread/cppthread.h"
-class MegaMutex : public ::mega::CppMutex {};
class MegaThread : public ::mega::CppThread {};
#else
#include "mega/thread/posixthread.h"
-class MegaMutex : public ::mega::PosixMutex {};
class MegaThread : public ::mega::PosixThread {};
#endif
@@ -118,7 +116,7 @@ public:
MegaCmdShellCommunications();
virtual ~MegaCmdShellCommunications();
- static MegaMutex megaCmdStdoutputing;
+ static std::recursive_mutex megaCmdStdoutputing;
virtual int executeCommand(std::string command, std::string (*readresponse)(const char *) = NULL, OUTSTREAMTYPE &output = COUT, bool interactiveshell = true, std::wstring = L"");
virtual int executeCommandW(std::wstring command, std::string (*readresponse)(const char *) = NULL, OUTSTREAMTYPE &output = COUT, bool interactiveshell = true);