From c47fc8f865d936def83473a950a5c9cd8cf136e8 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 10 Mar 2020 23:25:23 +0100 Subject: [PATCH] avoid assertions due to uninitialized memory --- lib/io.cpp | 2 -- lib/node.cpp | 1 - lib/node_direction.cpp | 2 -- lib/path.cpp | 2 -- lib/pool.cpp | 2 -- lib/queue.cpp | 4 +--- 6 files changed, 1 insertion(+), 12 deletions(-) diff --git a/lib/io.cpp b/lib/io.cpp index c90666969..031920c6f 100644 --- a/lib/io.cpp +++ b/lib/io.cpp @@ -87,8 +87,6 @@ int io_init(struct io *io, const struct format_type *fmt, struct vlist *signals, { int ret; - assert(io->state == State::DESTROYED); - io->_vt = fmt; io->_vd = new char[fmt->size]; diff --git a/lib/node.cpp b/lib/node.cpp index 45cd33893..fb7c63ef8 100644 --- a/lib/node.cpp +++ b/lib/node.cpp @@ -50,7 +50,6 @@ using namespace villas::utils; int node_init(struct node *n, struct node_type *vt) { int ret; - assert(n->state == State::DESTROYED); n->_vt = vt; n->_vd = new char[vt->size]; diff --git a/lib/node_direction.cpp b/lib/node_direction.cpp index 553ea55ac..59088fc32 100644 --- a/lib/node_direction.cpp +++ b/lib/node_direction.cpp @@ -51,8 +51,6 @@ int node_direction_init(struct node_direction *nd, enum NodeDir dir, struct node { int ret; - assert(nd->state == State::DESTROYED); - nd->direction = dir; nd->enabled = 1; nd->vectorize = 1; diff --git a/lib/path.cpp b/lib/path.cpp index 93fe1888b..764984ac6 100644 --- a/lib/path.cpp +++ b/lib/path.cpp @@ -116,8 +116,6 @@ int path_init(struct path *p) { int ret; - assert(p->state == State::DESTROYED); - new (&p->logger) Logger; new (&p->received) std::bitset; new (&p->mask) std::bitset; diff --git a/lib/pool.cpp b/lib/pool.cpp index b2ad1cc56..9306a01ad 100644 --- a/lib/pool.cpp +++ b/lib/pool.cpp @@ -29,8 +29,6 @@ int pool_init(struct pool *p, size_t cnt, size_t blocksz, struct memory_type *m) { int ret; - assert(p->state == State::DESTROYED); - /* Make sure that we use a block size that is aligned to the size of a cache line */ p->alignment = kernel_get_cacheline_size(); p->blocksz = p->alignment * CEIL(blocksz, p->alignment); diff --git a/lib/queue.cpp b/lib/queue.cpp index 4d9539f77..43604f7cf 100644 --- a/lib/queue.cpp +++ b/lib/queue.cpp @@ -38,8 +38,6 @@ /** Initialize MPMC queue */ int queue_init(struct queue *q, size_t size, struct memory_type *m) { - assert(q->state == State::DESTROYED); - /* Queue size must be 2 exponent */ if (!IS_POW2(size)) { size_t old_size = size; @@ -63,8 +61,8 @@ int queue_init(struct queue *q, size_t size, struct memory_type *m) #else std::atomic_store_explicit(&q->tail, 0u, std::memory_order_relaxed); std::atomic_store_explicit(&q->head, 0u, std::memory_order_relaxed); - #endif + q->state = State::INITIALIZED; return 0;