Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
actor-incubator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
actor-incubator
Commits
c9a8dd02
Commit
c9a8dd02
authored
Jan 10, 2020
by
Jakob Otto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add distinction for manual multiplexing
parent
eed08694
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
7 deletions
+11
-7
libcaf_net/caf/net/multiplexer.hpp
libcaf_net/caf/net/multiplexer.hpp
+3
-1
libcaf_net/src/multiplexer.cpp
libcaf_net/src/multiplexer.cpp
+3
-1
libcaf_net/src/net/middleman.cpp
libcaf_net/src/net/middleman.cpp
+5
-5
No files found.
libcaf_net/caf/net/multiplexer.hpp
View file @
c9a8dd02
...
@@ -93,7 +93,9 @@ public:
...
@@ -93,7 +93,9 @@ public:
void
run
();
void
run
();
/// Signals the multiplexer to initiate shutdown.
/// Signals the multiplexer to initiate shutdown.
void
shutdown
();
/// @returns true if manual triggering is needed, false if not.
/// @thread-safe
bool
shutdown
();
protected:
protected:
// -- utility functions ------------------------------------------------------
// -- utility functions ------------------------------------------------------
...
...
libcaf_net/src/multiplexer.cpp
View file @
c9a8dd02
...
@@ -232,7 +232,7 @@ void multiplexer::run() {
...
@@ -232,7 +232,7 @@ void multiplexer::run() {
poll_once
(
true
);
poll_once
(
true
);
}
}
void
multiplexer
::
shutdown
()
{
bool
multiplexer
::
shutdown
()
{
if
(
std
::
this_thread
::
get_id
()
==
tid_
)
{
if
(
std
::
this_thread
::
get_id
()
==
tid_
)
{
will_shutdown_
=
true
;
will_shutdown_
=
true
;
if
(
managers_
.
size
()
==
1
)
{
if
(
managers_
.
size
()
==
1
)
{
...
@@ -242,8 +242,10 @@ void multiplexer::shutdown() {
...
@@ -242,8 +242,10 @@ void multiplexer::shutdown() {
for
(
size_t
i
=
1
;
i
<
managers_
.
size
();
++
i
)
for
(
size_t
i
=
1
;
i
<
managers_
.
size
();
++
i
)
write_to_pipe
(
4
,
managers_
[
i
]);
write_to_pipe
(
4
,
managers_
[
i
]);
}
}
return
true
;
}
else
{
}
else
{
write_to_pipe
(
5
,
nullptr
);
write_to_pipe
(
5
,
nullptr
);
return
false
;
}
}
}
}
...
...
libcaf_net/src/net/middleman.cpp
View file @
c9a8dd02
...
@@ -55,11 +55,11 @@ void middleman::start() {
...
@@ -55,11 +55,11 @@ void middleman::start() {
void
middleman
::
stop
()
{
void
middleman
::
stop
()
{
for
(
const
auto
&
backend
:
backends_
)
for
(
const
auto
&
backend
:
backends_
)
backend
->
stop
();
backend
->
stop
();
mpx_
->
shutdown
();
if
(
mpx_
->
shutdown
())
{
// TODO: Implement shutdown for multiplexer running in own thread!
// if (mpx_thread_.joinable())
// mpx_thread_.join();
mpx_
->
run
();
mpx_
->
run
();
}
else
if
(
mpx_thread_
.
joinable
())
{
mpx_thread_
.
join
();
}
}
}
void
middleman
::
init
(
actor_system_config
&
cfg
)
{
void
middleman
::
init
(
actor_system_config
&
cfg
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment