Gaudi Framework, version v24r2

Home   Generated: Wed Dec 4 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
System::ProcessDescriptor::ProcessHandle Class Reference

Public Member Functions

 ProcessHandle (long pid)
 
virtual ~ProcessHandle ()
 
long item ()
 
void * handle ()
 

Private Attributes

void * m_handle
 
bool m_needRelease
 

Detailed Description

Definition at line 111 of file ProcessDescriptor.h.

Constructor & Destructor Documentation

System::ProcessDescriptor::ProcessHandle::ProcessHandle ( long  pid)

Definition at line 400 of file ProcessDescriptor.cpp.

{
if ( pid > 0 ) {
if ( pid != s_myPid ) {
#ifdef _WIN32
m_handle = ::OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,
pid);
#else
// Note: the return type of getpid is pid_t, which is int on 64bit machines too
m_handle = reinterpret_cast<void*>(static_cast<long>(s_myPid));
#endif
m_needRelease = true;
return;
}
}
m_needRelease = false;
}
System::ProcessDescriptor::ProcessHandle::~ProcessHandle ( )
virtual

Definition at line 418 of file ProcessDescriptor.cpp.

{
if ( m_needRelease ) {
#ifdef _WIN32
::CloseHandle(m_handle);
#else
m_handle = 0;
#endif
}
}

Member Function Documentation

void* System::ProcessDescriptor::ProcessHandle::handle ( )
inline

Definition at line 120 of file ProcessDescriptor.h.

{
return m_handle;
}
long System::ProcessDescriptor::ProcessHandle::item ( )
inline

Definition at line 117 of file ProcessDescriptor.h.

{
return m_needRelease ? 1 : 0;
}

Member Data Documentation

void* System::ProcessDescriptor::ProcessHandle::m_handle
private

Definition at line 112 of file ProcessDescriptor.h.

bool System::ProcessDescriptor::ProcessHandle::m_needRelease
private

Definition at line 113 of file ProcessDescriptor.h.


The documentation for this class was generated from the following files:

Generated at Wed Dec 4 2013 14:33:24 for Gaudi Framework, version v24r2 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004