Browse Source

Misc fixes for older platforms

pull/1234/head
Antonio SJ Musumeci 1 year ago
parent
commit
8d7017273f
  1. 7
      src/fs_mktemp.cpp
  2. 13
      src/gidcache.cpp

7
src/fs_mktemp.cpp

@ -25,6 +25,7 @@
#include <cstdlib> #include <cstdlib>
#include <string> #include <string>
#include <tuple>
#define PAD_LEN 16 #define PAD_LEN 16
#define MAX_ATTEMPTS 3 #define MAX_ATTEMPTS 3
@ -75,12 +76,12 @@ namespace fs
if((fd == -1) && (errno == EEXIST)) if((fd == -1) && (errno == EEXIST))
continue; continue;
if(fd == -1) if(fd == -1)
return {-errno,std::string{}};
return std::make_tuple(-errno,std::string());
return {fd,tmp_filepath};
return std::make_tuple(fd,tmp_filepath);
} }
return {-EEXIST,std::string{}};
return std::make_tuple(-EEXIST,std::string());
} }
std::tuple<int,std::string> std::tuple<int,std::string>

13
src/gidcache.cpp

@ -34,11 +34,10 @@
#include <unordered_map> #include <unordered_map>
#include <mutex> #include <mutex>
#include "gidcache.hpp" #include "gidcache.hpp"
std::mutex g_REGISTERED_CACHES_MUTEX;
std::unordered_map<pid_t,GIDCache*> g_REGISTERED_CACHES;
std::mutex g_REGISTERED_CACHES_MUTEX;
std::unordered_map<pthread_t,GIDCache*> g_REGISTERED_CACHES;
inline inline
@ -55,11 +54,11 @@ GIDCache::GIDCache()
{ {
std::lock_guard<std::mutex> guard(g_REGISTERED_CACHES_MUTEX); std::lock_guard<std::mutex> guard(g_REGISTERED_CACHES_MUTEX);
pid_t tid;
bool inserted;
bool inserted;
pthread_t pthid;
tid = ::gettid();
inserted = g_REGISTERED_CACHES.emplace(tid,this).second;
pthid = pthread_self();
inserted = g_REGISTERED_CACHES.emplace(pthid,this).second;
assert(inserted == true); assert(inserted == true);
} }

Loading…
Cancel
Save