copying branch over from other 2013 repo
diff --git a/aos/atom_code/ipc_lib/mutex.cpp b/aos/atom_code/ipc_lib/mutex.cpp
index d1f0ef2..4753e78 100644
--- a/aos/atom_code/ipc_lib/mutex.cpp
+++ b/aos/atom_code/ipc_lib/mutex.cpp
@@ -2,6 +2,8 @@
 
 #include <inttypes.h>
 #include <errno.h>
+#include <stdio.h>
+#include <string.h>
 
 #include "aos/aos_core.h"
 #include "aos/common/type_traits.h"
diff --git a/aos/atom_code/ipc_lib/queue.c b/aos/atom_code/ipc_lib/queue.c
index 5cfd2ac..2e45326 100644
--- a/aos/atom_code/ipc_lib/queue.c
+++ b/aos/atom_code/ipc_lib/queue.c
@@ -6,6 +6,8 @@
 #include <errno.h>
 #include <assert.h>
 
+#include "aos/common/logging/logging.h"
+
 #define READ_DEBUG 0
 #define WRITE_DEBUG 0
 #define REF_DEBUG 0
@@ -36,7 +38,7 @@
 		abort();
 	}
 #if REF_DEBUG
-	printf("ref_free_count: %p\n", msg);
+	printf("ref free: %p\n", msg);
 #endif
 	--pool->used;
 
@@ -484,10 +486,7 @@
 		msg = pool->pool[pool->used];
 	} else {
 		if (pool->length >= pool->mem_length) {
-			//TODO(brians) log this if it isn't the log queue
-			fprintf(stderr, "queue: overused_pool\n");
-			msg = NULL;
-			goto exit;
+			LOG(FATAL, "overused pool %p\n", pool);
 		}
 		msg = pool->pool[pool->length] = aos_alloc_msg(pool);
 		++pool->length;
@@ -500,7 +499,6 @@
 #endif
 	header->index = pool->used;
 	++pool->used;
-exit:
 	mutex_unlock(&pool->pool_lock);
 	return msg;
 }