From 2aa52fb69694d15a5ad1e2e9dd2894f13d383734 Mon Sep 17 00:00:00 2001
From: Someone Serge <else@someonex.net>
Date: Tue, 25 Jun 2024 17:19:58 +0000
Subject: comments: evanix.c

---
 include/jobs.h |  3 ++-
 src/evanix.c   | 10 +++++-----
 src/jobs.c     |  2 +-
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/include/jobs.h b/include/jobs.h
index 37445c1..2e30547 100644
--- a/include/jobs.h
+++ b/include/jobs.h
@@ -36,7 +36,8 @@ typedef enum {
 } job_read_state_t;
 int job_read(FILE *stream, struct job **jobs);
 
-int jobs_init(FILE **stream, char *expr);
+/* Spawns nix-eval-jobs and connects its stdout to stream */
+int jobs_init(FILE **stream, const char *expr);
 void job_free(struct job *j);
 int job_parents_list_insert(struct job *job, struct job *parent);
 void job_deps_list_rm(struct job *job, struct job *dep);
diff --git a/src/evanix.c b/src/evanix.c
index 01279d1..27ab428 100644
--- a/src/evanix.c
+++ b/src/evanix.c
@@ -33,22 +33,22 @@ static int evanix(char *expr)
 {
 	struct queue_thread *queue_thread = NULL;
 	struct build_thread *build_thread = NULL;
-	FILE *stream = NULL;
+	FILE *jobsStream = NULL; /* nix-eval-jobs stdout */
 	int ret = 0;
 
-	ret = jobs_init(&stream, expr);
+	ret = jobs_init(&jobsStream, expr);
 	if (ret < 0)
 		goto out_free;
 
-	ret = queue_thread_new(&queue_thread, stream);
+	ret = queue_thread_new(&queue_thread, jobsStream);
 	if (ret < 0) {
-		free(stream);
+		free(jobsStream);
 		goto out_free;
 	}
 
 	ret = build_thread_new(&build_thread, queue_thread->queue);
 	if (ret < 0) {
-		free(stream);
+		free(jobsStream);
 		goto out_free;
 	}
 
diff --git a/src/jobs.c b/src/jobs.c
index 4e3926a..bda8d11 100644
--- a/src/jobs.c
+++ b/src/jobs.c
@@ -434,7 +434,7 @@ out_free_job:
 	return ret;
 }
 
-int jobs_init(FILE **stream, char *expr)
+int jobs_init(FILE **stream, const char *expr)
 {
 	size_t argindex;
 	char *args[6];
-- 
cgit v1.2.3


From 4b43a81d6082b7c6fe70234a5df912b3218bee05 Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else@someonex.net>
Date: Thu, 27 Jun 2024 17:06:10 +0000
Subject: job: "transitive" -> "!scheduled"

---
 include/jobs.h | 2 +-
 src/jobs.c     | 2 +-
 src/queue.c    | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/jobs.h b/include/jobs.h
index 2e30547..7390306 100644
--- a/include/jobs.h
+++ b/include/jobs.h
@@ -10,7 +10,7 @@ struct output {
 
 struct job {
 	char *name, *drv_path, *attr;
-	bool transitive;
+	bool scheduled;
 	bool insubstituters;
 
 	size_t outputs_size, outputs_filled;
diff --git a/src/jobs.c b/src/jobs.c
index bda8d11..7851fef 100644
--- a/src/jobs.c
+++ b/src/jobs.c
@@ -367,7 +367,7 @@ static int job_new(struct job **j, char *name, char *drv_path,
 		print_err("%s", strerror(errno));
 		return -errno;
 	}
-	job->transitive = true;
+	job->scheduled = false;
 
 	job->outputs_size = 0;
 	job->outputs_filled = 0;
diff --git a/src/queue.c b/src/queue.c
index 09eebb6..3a7ca52 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -41,7 +41,7 @@ static int queue_dag_isolate(struct job *job, struct job *keep_parent,
 		job->parents_filled = 0;
 	}
 
-	if (!job->transitive)
+	if (job->scheduled)
 		CIRCLEQ_REMOVE(jobs, job, clist);
 
 	ret = htab_delete(htab, job->drv_path);
@@ -169,8 +169,8 @@ static int queue_push(struct queue *queue, struct job *job)
 	}
 
 	/* no duplicate entries in queue */
-	if (job->transitive) {
-		job->transitive = false;
+	if (!job->scheduled) {
+		job->scheduled = true;
 		CIRCLEQ_INSERT_TAIL(&queue->jobs, job, clist);
 	}
 	pthread_mutex_unlock(&queue->mutex);
-- 
cgit v1.2.3