libcsdbg  1.28
C++ exception (and generic) stack trace debug library
csdbg::process::process ( const process src)

Object copy constructor.

Parameters
[in]srcthe source object
Exceptions
std::bad_alloc

Definition at line 100 of file process.cpp.

References csdbg::util::lock(), m_modules, m_symcache, m_threads, and csdbg::util::unlock().

101  :
102 m_pid(src.m_pid),
103 m_threads(NULL),
104 m_modules(NULL),
105 m_symcache(NULL)
106 {
107  util::lock();
108  m_threads = src.m_threads->clone();
109  m_modules = src.m_modules->clone();
110  m_symcache = src.m_symcache->clone();
111  util::unlock();
112 }
113 
114 catch (...) {
115  delete m_threads;
116  delete m_modules;
117  m_threads = NULL;
118  m_modules = NULL;
119  util::unlock();
120 }
chain< thread > * m_threads
Instrumented thread list.
Definition: process.hpp:37
chain< symtab > * m_modules
Symbol table list.
Definition: process.hpp:39
static void lock()
Lock the global access mutex.
Definition: util.cpp:397
static void unlock()
Unlock the global access mutex.
Definition: util.cpp:406
chain< symbol > * m_symcache
Lookup cache.
Definition: process.hpp:41
pid_t m_pid
Process ID.
Definition: process.hpp:35

+ Here is the call graph for this function: