![]() |
CernVM-FS
2.13.0
|
Public Member Functions | |
ForkAwareEnv (NfsMapsLeveldb *maps) | |
void | StartThread (void(*f)(void *), void *a) |
void | Schedule (void(*function)(void *), void *arg) |
void | WaitForBGThreads () |
void | SleepForMicroseconds (int micros) |
Static Private Member Functions | |
static void * | MainFakeThread (void *data) |
Private Attributes | |
NfsMapsLeveldb * | maps_ |
atomic_int32 | num_bg_threads_ |
Leveldb's background threads must not be started before cvmfs has forked. Before forking, we run the processes in specially created threads. We make sure, these threads are terminated before forking.
Definition at line 56 of file nfs_maps_leveldb.h.
|
explicit |
Definition at line 38 of file nfs_maps_leveldb.cc.
|
staticprivate |
Definition at line 89 of file nfs_maps_leveldb.cc.
void NfsMapsLeveldb::ForkAwareEnv::Schedule | ( | void(*)(void *) | function, |
void * | arg | ||
) |
void NfsMapsLeveldb::ForkAwareEnv::SleepForMicroseconds | ( | int | micros | ) |
Leveldb's usleep might collide with the ALARM timer
Definition at line 84 of file nfs_maps_leveldb.cc.
void NfsMapsLeveldb::ForkAwareEnv::StartThread | ( | void(*)(void *) | f, |
void * | a | ||
) |
Definition at line 44 of file nfs_maps_leveldb.cc.
void NfsMapsLeveldb::ForkAwareEnv::WaitForBGThreads | ( | ) |
Definition at line 75 of file nfs_maps_leveldb.cc.
Referenced by NfsMapsLeveldb::Create().
|
private |
Definition at line 67 of file nfs_maps_leveldb.h.
|
private |
Definition at line 68 of file nfs_maps_leveldb.h.
Referenced by ForkAwareEnv(), and MainFakeThread().