aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/multiprocessing.h3
-rw-r--r--src/lib/core/multiprocessing.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/include/multiprocessing.h b/include/multiprocessing.h
index 5919462..ec7c1ad 100644
--- a/include/multiprocessing.h
+++ b/include/multiprocessing.h
@@ -38,6 +38,9 @@ struct MultiProcessingPool {
int status_interval; ///< Report a pooled task is "running" every n seconds
};
+/// A multiprocessing task's initial state (i.e. "FAIL")
+#define MP_POOL_TASK_STATUS_INITIAL (-1)
+
/// Maximum number of multiprocessing tasks STASIS can execute
#define MP_POOL_TASK_MAX 1000
diff --git a/src/lib/core/multiprocessing.c b/src/lib/core/multiprocessing.c
index 484c566..29ea6b0 100644
--- a/src/lib/core/multiprocessing.c
+++ b/src/lib/core/multiprocessing.c
@@ -98,7 +98,7 @@ struct MultiProcessingTask *mp_pool_task(struct MultiProcessingPool *pool, const
}
// Set default status to "error"
- slot->status = -1;
+ slot->status = MP_POOL_TASK_STATUS_INITIAL;
// Set task identifier string
memset(slot->ident, 0, sizeof(slot->ident));
@@ -254,7 +254,7 @@ int mp_pool_join(struct MultiProcessingPool *pool, size_t jobs, size_t flags) {
for (size_t i = lower_i; i < upper_i; i++) {
struct MultiProcessingTask *slot = &pool->task[i];
- if (slot->status == -1) {
+ if (slot->status == MP_POOL_TASK_STATUS_INITIAL) {
if (mp_task_fork(pool, slot)) {
fprintf(stderr, "%s: mp_task_fork failed\n", slot->ident);
kill(0, SIGTERM);