summaryrefslogtreecommitdiff
path: root/src/queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/queue.c')
-rw-r--r--src/queue.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/queue.c b/src/queue.c
index 746750e..e1e41ec 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -18,17 +18,20 @@ void *queue_thread_entry(void *queue_thread)
while (true) {
ret = job_read(qt->stream, &job);
- if (ret == -EOF) {
+ if (ret == JOB_READ_EOF) {
qt->queue->state = Q_ITS_OVER;
sem_post(&qt->queue->sem);
ret = 0;
break;
- } else if (ret < 0) {
+ } else if (ret == JOB_READ_EVAL_ERR ||
+ ret == JOB_READ_JSON_INVAL) {
+ continue;
+ } else if (ret == JOB_READ_SUCCESS) {
+ queue_push(qt->queue, job);
+ } else {
break;
}
-
- queue_push(qt->queue, job);
}
pthread_exit(NULL);