fixed some bugs
The API for the condition variables was broken, so I changed that and
then fixed RawQueue to use it correctly. I also found a bug in the
condition variable implementation using the tests.
diff --git a/aos/atom_code/ipc_lib/condition.cc b/aos/atom_code/ipc_lib/condition.cc
index f65c67d..c67ea5f 100644
--- a/aos/atom_code/ipc_lib/condition.cc
+++ b/aos/atom_code/ipc_lib/condition.cc
@@ -6,8 +6,6 @@
namespace aos {
-static_assert(shm_ok<condition_variable>::value,
- "all C structs really should work in shared memory");
static_assert(shm_ok<Condition>::value, "Condition should work"
" in shared memory");
@@ -18,11 +16,11 @@
}
void Condition::Signal() {
- condition_signal(&impl_);
+ condition_signal(&impl_, &m_->impl_);
}
void Condition::Broadcast() {
- condition_broadcast(&impl_);
+ condition_broadcast(&impl_, &m_->impl_);
}
} // namespace aos