diff options
Diffstat (limited to 'src/queue.c')
-rw-r--r-- | src/queue.c | 11 |
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); |