Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
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
Operations
Operations
Metrics
Environments
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 Framework
Commits
e3526dee
Commit
e3526dee
authored
Apr 20, 2012
by
neverlord
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bugfix and CPPA_CRITICAL
parent
55e5f2c6
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
25 additions
and
18 deletions
+25
-18
cppa/abstract_actor.hpp
cppa/abstract_actor.hpp
+2
-2
cppa/config.hpp
cppa/config.hpp
+11
-1
cppa/detail/nestable_invoke_policy.hpp
cppa/detail/nestable_invoke_policy.hpp
+5
-2
cppa/detail/recursive_queue_node.hpp
cppa/detail/recursive_queue_node.hpp
+2
-7
cppa/detail/yielding_actor.hpp
cppa/detail/yielding_actor.hpp
+1
-1
src/abstract_event_based_actor.cpp
src/abstract_event_based_actor.cpp
+3
-3
src/yielding_actor.cpp
src/yielding_actor.cpp
+1
-2
No files found.
cppa/abstract_actor.hpp
View file @
e3526dee
...
@@ -176,14 +176,14 @@ class abstract_actor : public Base
...
@@ -176,14 +176,14 @@ class abstract_actor : public Base
}
}
else
else
{
{
auto
result
=
m_nodes
.
back
();
mailbox_element
*
result
=
m_nodes
.
back
();
m_nodes
.
pop_back
();
m_nodes
.
pop_back
();
result
->
next
=
nullptr
;
result
->
marked
=
false
;
result
->
marked
=
false
;
result
->
sender
=
sender
;
result
->
sender
=
sender
;
result
->
msg
=
std
::
move
(
msg
);
result
->
msg
=
std
::
move
(
msg
);
return
result
;
return
result
;
}
}
}
}
inline
void
release_node
(
mailbox_element
*
node
)
inline
void
release_node
(
mailbox_element
*
node
)
...
...
cppa/config.hpp
View file @
e3526dee
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
#elif defined(CPPA_GCC)
#elif defined(CPPA_GCC)
# define CPPA_MEMORY_BARRIER() __sync_synchronize()
# define CPPA_MEMORY_BARRIER() __sync_synchronize()
#else
#else
# error Plattform and/or compiler not supporte
t
# error Plattform and/or compiler not supporte
d
#endif
#endif
#ifdef CPPA_DEBUG
#ifdef CPPA_DEBUG
...
@@ -83,8 +83,18 @@
...
@@ -83,8 +83,18 @@
if ((stmt) == false) { \
if ((stmt) == false) { \
CPPA_REQUIRE__(#stmt, __FILE__, __LINE__); \
CPPA_REQUIRE__(#stmt, __FILE__, __LINE__); \
}((void) 0)
}((void) 0)
#define CPPA_CRITICAL__(error, file, line) \
printf("%s:%u: critical error: '%s'\n", file, line, error); \
{ \
void *array[10]; \
size_t size = backtrace(array, 10); \
backtrace_symbols_fd(array, size, 2); \
} \
exit(7)
#define CPPA_CRITICAL(error) CPPA_CRITICAL__(error, __FILE__, __LINE__)
#else // CPPA_DEBUG
#else // CPPA_DEBUG
#define CPPA_REQUIRE(unused) ((void) 0)
#define CPPA_REQUIRE(unused) ((void) 0)
#define CPPA_CRITICAL(unused) exit(7)
#endif // CPPA_DEBUG
#endif // CPPA_DEBUG
#endif // CPPA_CONFIG_HPP
#endif // CPPA_CONFIG_HPP
cppa/detail/nestable_invoke_policy.hpp
View file @
e3526dee
...
@@ -82,7 +82,7 @@ class nestable_invoke_policy
...
@@ -82,7 +82,7 @@ class nestable_invoke_policy
++
i
;
++
i
;
break
;
break
;
}
}
default:
exit
(
7
);
// illegal state
default:
CPPA_CRITICAL
(
"illegal result of handle_message"
);
}
}
}
}
return
false
;
return
false
;
...
@@ -107,9 +107,12 @@ class nestable_invoke_policy
...
@@ -107,9 +107,12 @@ class nestable_invoke_policy
break
;
break
;
}
}
case
hm_skip_msg
:
case
hm_skip_msg
:
{
CPPA_CRITICAL
(
"received a marked node"
);
}
default:
default:
{
{
exit
(
7
);
// illegal state
CPPA_CRITICAL
(
"illegal result of handle_message"
);
}
}
}
}
return
false
;
return
false
;
...
...
cppa/detail/recursive_queue_node.hpp
View file @
e3526dee
...
@@ -57,13 +57,8 @@ struct recursive_queue_node
...
@@ -57,13 +57,8 @@ struct recursive_queue_node
{
{
}
}
inline
recursive_queue_node
(
recursive_queue_node
&&
other
)
recursive_queue_node
(
recursive_queue_node
const
&
)
=
delete
;
:
next
(
nullptr
)
recursive_queue_node
&
operator
=
(
recursive_queue_node
const
&
)
=
delete
;
,
marked
(
false
)
,
sender
(
std
::
move
(
other
.
sender
))
,
msg
(
std
::
move
(
other
.
msg
))
{
}
struct
guard
struct
guard
{
{
...
...
cppa/detail/yielding_actor.hpp
View file @
e3526dee
...
@@ -106,7 +106,7 @@ class yielding_actor : public abstract_scheduled_actor
...
@@ -106,7 +106,7 @@ class yielding_actor : public abstract_scheduled_actor
{
{
return
false
;
return
false
;
}
}
default:
exit
(
7
);
// illegal state
default:
CPPA_CRITICAL
(
"illegal result of filter_msg"
);
}
}
return
false
;
return
false
;
}
}
...
...
src/abstract_event_based_actor.cpp
View file @
e3526dee
...
@@ -128,7 +128,7 @@ void abstract_event_based_actor::resume(util::fiber*, scheduler::callback* cb)
...
@@ -128,7 +128,7 @@ void abstract_event_based_actor::resume(util::fiber*, scheduler::callback* cb)
{
{
return
;
return
;
}
}
default:
exit
(
7
);
// illegal state
default:
CPPA_CRITICAL
(
"illegal actor state"
);
};
};
}
}
}
}
...
@@ -178,7 +178,7 @@ void abstract_event_based_actor::resume(util::fiber*, scheduler::callback* cb)
...
@@ -178,7 +178,7 @@ void abstract_event_based_actor::resume(util::fiber*, scheduler::callback* cb)
++
i
;
++
i
;
break
;
break
;
}
}
default:
exit
(
7
);
// illegal state
default:
CPPA_CRITICAL
(
"illegal result of handle_message"
);
}
}
}
}
break
;
break
;
...
@@ -188,7 +188,7 @@ void abstract_event_based_actor::resume(util::fiber*, scheduler::callback* cb)
...
@@ -188,7 +188,7 @@ void abstract_event_based_actor::resume(util::fiber*, scheduler::callback* cb)
m_cache
.
emplace_back
(
e
);
m_cache
.
emplace_back
(
e
);
break
;
break
;
}
}
default:
exit
(
7
);
// illegal state
default:
CPPA_CRITICAL
(
"illegal result of handle_message"
);
}
}
}
}
}
}
...
...
src/yielding_actor.cpp
View file @
e3526dee
...
@@ -164,8 +164,7 @@ void yielding_actor::resume(util::fiber* from, scheduler::callback* callback)
...
@@ -164,8 +164,7 @@ void yielding_actor::resume(util::fiber* from, scheduler::callback* callback)
}
}
default:
default:
{
{
// illegal state
CPPA_CRITICAL
(
"illegal yield result"
);
exit
(
7
);
}
}
}
}
break
;
break
;
...
...
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