22 #include <aspect/syncpoint.h>
23 #include <core/threading/thread.h>
44 std::string identifier_in,
45 std::string identifier_out )
47 identifier_in_(identifier_in),
48 identifier_out_(identifier_out),
52 add_aspect(
"SyncPointAspect");
53 has_input_syncpoint_ = (identifier_in !=
"");
54 has_output_syncpoint_ = (identifier_out !=
"");
65 identifier_out_(identifier_out),
69 add_aspect(
"SyncPointAspect");
70 has_input_syncpoint_ =
false;
71 has_output_syncpoint_ =
true;
89 if (has_input_syncpoint_) {
93 if (has_output_syncpoint_) {
98 if (has_input_syncpoint_ || has_output_syncpoint_) {
111 if (has_input_syncpoint_) {
112 manager->release_syncpoint(thread->name(), sp_in_);
115 if (has_output_syncpoint_) {
117 manager->release_syncpoint(thread->name(), sp_out_);
120 if (has_input_syncpoint_ || has_output_syncpoint_) {
121 thread->remove_loop_listener(
this);
131 if (has_input_syncpoint_) {
132 sp_in_->
wait(thread->name(), type_in_);
142 if (has_output_syncpoint_) {