46 lines
1000 B
C
46 lines
1000 B
C
#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);
|
|
}
|
|
|