diff --git a/include/context.h b/include/context.h
index 6c38c33a09448b7045f1e2cfcc3fb234101d1e6f..f4822681f2f5595e7d4a01631789a822091d0eae 100644
--- a/include/context.h
+++ b/include/context.h
@@ -11,6 +11,7 @@ typedef enum
 {
     CTX_INIT,
     CTX_EXEC,
+    CTX_WAIT,
     CTX_END
 } ctx_status_t;
 
@@ -23,6 +24,7 @@ typedef struct ctx_s
     void *args;
     ctx_status_t status;
     struct ctx_s *next_ctx;
+    struct ctx_s *sem_next_ctx;
     char used;
 } ctx_t;
 
diff --git a/src/context.c b/src/context.c
index d404885c7cc359cb7d0293a89e45a464966f0215..bf0d435b52164d769429bc52f7cc980fd1b9469a 100644
--- a/src/context.c
+++ b/src/context.c
@@ -1,8 +1,8 @@
 #include "context.h"
 #include "utils.h"
 
-static ctx_t *current_ctx = NULL;
-static ctx_t *ring_ctx = NULL;
+ctx_t *current_ctx = NULL;
+ctx_t *ring_ctx = NULL;
 
 ctx_t *malloc_ctx()
 {