This commit is contained in:
2025-03-21 10:54:32 +10:00
commit e297aa1659
8 changed files with 790 additions and 0 deletions

45
job.c Normal file
View File

@@ -0,0 +1,45 @@
#include "job.h"
struct Job *get_job_from_pid(int pid) {
for (int i = 0; i < programJobs.length; i++) {
struct Job *job = programJobs.jobs[i];
if (job->pid == pid) {
return job;
}
}
return NULL;
}
struct Job *get_job_from_id(int id) {
for (int i = 0; i < programJobs.length; i++) {
struct Job *job = programJobs.jobs[i];
if (job->jobId == id) {
return job;
}
}
return NULL;
}
int add_job(struct Job *job) {
programJobs.jobs = (struct Job **)realloc(
programJobs.jobs, sizeof(struct Job *) * (programJobs.length + 1));
programJobs.jobs[programJobs.length] = job;
programJobs.length++;
return programJobs.length - 1;
}
void deinit_jobs(void) {
for (int i = 0; i < programJobs.length; i++) {
struct Job *job = programJobs.jobs[i];
free(job->command);
free(job->status);
free(programJobs.jobs[i]);
}
free(programJobs.jobs);
}