#include <Process.h>
Definition at line 17 of file Process.h.
◆ Process() [1/2]
| AthenaInterprocess::Process::Process |
( |
pid_t | pid | ) |
|
|
explicit |
Definition at line 34 of file Process.cxx.
35{
36
37}
IdentifiedSharedQueue m_outbox
◆ Process() [2/2]
| AthenaInterprocess::Process::Process |
( |
const Process & | other | ) |
|
◆ ~Process()
| AthenaInterprocess::Process::~Process |
( |
| ) |
|
|
virtual |
◆ ATLAS_NOT_THREAD_SAFE()
| int mainloop AthenaInterprocess::Process::ATLAS_NOT_THREAD_SAFE |
( |
| ) |
|
◆ connectIn()
| bool AthenaInterprocess::Process::connectIn |
( |
const SharedQueue & | queue | ) |
|
Definition at line 67 of file Process.cxx.
68{
69 if ( !
queue.name().empty() ) {
71
72 return true;
73 }
74
75 return false;
76}
◆ connectOut()
Definition at line 78 of file Process.cxx.
79{
80 if ( !
queue.name().empty() ) {
82
83 return true;
84 }
85
86 return false;
87}
◆ getProcessID()
| pid_t AthenaInterprocess::Process::getProcessID |
( |
| ) |
const |
◆ launch()
| Process AthenaInterprocess::Process::launch |
( |
| ) |
|
|
static |
Definition at line 20 of file Process.cxx.
21{
22 std::cout.flush();
23 std::cerr.flush();
24
26 if ( pid == 0 )
27 prctl( PR_SET_PDEATHSIG, SIGHUP );
28
30}
◆ operator=()
| Process & AthenaInterprocess::Process::operator= |
( |
const Process & | other | ) |
|
Definition at line 45 of file Process.cxx.
46{
47 if ( this != &other ) {
51 }
52 return *this;
53}
◆ schedule()
Definition at line 89 of file Process.cxx.
90{
91
92 std::string strptr("");
93 if(func) {
94 size_t ptrsize = sizeof(func);
95 char* charptr = new char[ptrsize];
96 memcpy(charptr,&func,ptrsize);
97 strptr=std::string(charptr,ptrsize);
98 delete[] charptr;
99 }
100 bool send_ok =
m_inbox.try_send(strptr);
101
102
103 if(send_ok) {
104 std::string strparam = (
args?std::string((
char*)
args->data,
args->size):std::string(
""));
105 send_ok =
m_inbox.try_send(strparam);
106 }
107
108 return send_ok;
109}
◆ m_inbox
◆ m_outbox
◆ m_pid
| pid_t AthenaInterprocess::Process::m_pid |
|
private |
The documentation for this class was generated from the following files: