ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
filesystem.cpp File Reference
#include <util/base/filesystem.h>
#include <boost/filesystem.hpp>
#include <algorithm>
#include <cassert>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <vector>
#include <fcntl.h>
#include <sys/stat.h>
#include <csignal>
#include <sys/file.h>
#include <sys/types.h>
#include <unistd.h>
Include dependency graph for filesystem.cpp:

Functions

static int lock_tmp_path (const std::string &path)
static void unlock_tmp_path (int &fd)
static bool is_sep (char c)
static void set_tmp_dir_var (const char *value)
static FILE * fopen_exclusive (const std::string &path, const char *mode)
template<typename F>
static std::string with_unique_tmp_path (F &&f, const std::string &format)

Variables

static std::vector< std::string > registered_tmp_paths
static std::vector< long > registered_pgroups
static constexpr size_t sig_max_tmps = 32
static constexpr size_t sig_path_max = 4096
static char sig_tmp_paths [sig_max_tmps][sig_path_max]
static volatile sig_atomic_t sig_tmp_count = 0
static constexpr size_t sig_max_pgroups = 64
static volatile sig_atomic_t sig_pgroups [sig_max_pgroups]
static volatile sig_atomic_t sig_pgroup_count = 0
static const char *const tmp_dir_var = "TMPDIR"

Function Documentation

◆ fopen_exclusive()

FILE * fopen_exclusive ( const std::string & path,
const char * mode )
static

◆ is_sep()

bool is_sep ( char c)
static

◆ lock_tmp_path()

int lock_tmp_path ( const std::string & path)
static

◆ set_tmp_dir_var()

void set_tmp_dir_var ( const char * value)
static

◆ unlock_tmp_path()

void unlock_tmp_path ( int & fd)
static

◆ with_unique_tmp_path()

template<typename F>
std::string with_unique_tmp_path ( F && f,
const std::string & format )
inlinestatic

Variable Documentation

◆ registered_pgroups

std::vector<long> registered_pgroups
static

◆ registered_tmp_paths

std::vector<std::string> registered_tmp_paths
static

◆ sig_max_pgroups

size_t sig_max_pgroups = 64
staticconstexpr

◆ sig_max_tmps

size_t sig_max_tmps = 32
staticconstexpr

◆ sig_path_max

size_t sig_path_max = 4096
staticconstexpr

◆ sig_pgroup_count

volatile sig_atomic_t sig_pgroup_count = 0
static

◆ sig_pgroups

volatile sig_atomic_t sig_pgroups[sig_max_pgroups]
static

◆ sig_tmp_count

volatile sig_atomic_t sig_tmp_count = 0
static

◆ sig_tmp_paths

char sig_tmp_paths[sig_max_tmps][sig_path_max]
static

◆ tmp_dir_var

const char* const tmp_dir_var = "TMPDIR"
static