Browse Source

Merge pull request #1234 from trapexit/fixes

Misc fixes for older platforms
pull/1237/head
trapexit 1 year ago
committed by GitHub
parent
commit
004b616115
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      src/fs_mktemp.cpp
  2. 9
      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>

9
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::mutex g_REGISTERED_CACHES_MUTEX;
std::unordered_map<pid_t,GIDCache*> g_REGISTERED_CACHES;
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