init
This commit is contained in:
45
job.c
Normal file
45
job.c
Normal 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user