mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 12:53:13 +00:00
Began migration of job_t away from halloc
This commit is contained in:
parent
f243cd86c9
commit
966cd6a8ca
2 changed files with 20 additions and 13 deletions
3
proc.cpp
3
proc.cpp
|
@ -213,8 +213,7 @@ job_t *job_create()
|
||||||
|
|
||||||
while( job_get( free_id ) != 0 )
|
while( job_get( free_id ) != 0 )
|
||||||
free_id++;
|
free_id++;
|
||||||
res = (job_t *)halloc( 0, sizeof(job_t) );
|
res = new job_t(free_id);
|
||||||
res->job_id = free_id;
|
|
||||||
job_list().push_front(res);
|
job_list().push_front(res);
|
||||||
|
|
||||||
job_set_flag( res,
|
job_set_flag( res,
|
||||||
|
|
30
proc.h
30
proc.h
|
@ -124,8 +124,9 @@ enum
|
||||||
element, which is the block of commands to execute.
|
element, which is the block of commands to execute.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef struct process
|
class process_t
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
/**
|
/**
|
||||||
Type of process. Can be one of \c EXTERNAL, \c
|
Type of process. Can be one of \c EXTERNAL, \c
|
||||||
INTERNAL_BUILTIN, \c INTERNAL_FUNCTION, \c INTERNAL_BLOCK,
|
INTERNAL_BUILTIN, \c INTERNAL_FUNCTION, \c INTERNAL_BLOCK,
|
||||||
|
@ -161,15 +162,14 @@ typedef struct process
|
||||||
int count_help_magic;
|
int count_help_magic;
|
||||||
|
|
||||||
/** next process in pipeline */
|
/** next process in pipeline */
|
||||||
struct process *next;
|
struct process_t *next;
|
||||||
#ifdef HAVE__PROC_SELF_STAT
|
#ifdef HAVE__PROC_SELF_STAT
|
||||||
/** Last time of cpu time check */
|
/** Last time of cpu time check */
|
||||||
struct timeval last_time;
|
struct timeval last_time;
|
||||||
/** Number of jiffies spent in process at last cpu time check */
|
/** Number of jiffies spent in process at last cpu time check */
|
||||||
unsigned long last_jiffies;
|
unsigned long last_jiffies;
|
||||||
#endif
|
#endif
|
||||||
}
|
};
|
||||||
process_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Constant for the flag variable in the job struct
|
Constant for the flag variable in the job struct
|
||||||
|
@ -237,6 +237,19 @@ typedef struct process
|
||||||
class job_t
|
class job_t
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
job_t(int jobid) :
|
||||||
|
command(NULL),
|
||||||
|
first_process(NULL),
|
||||||
|
pgid(0),
|
||||||
|
tmodes(),
|
||||||
|
job_id(jobid),
|
||||||
|
io(NULL),
|
||||||
|
flags(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The original command which led to the creation of this
|
The original command which led to the creation of this
|
||||||
job. It is used for displaying messages about job status
|
job. It is used for displaying messages about job status
|
||||||
|
@ -247,7 +260,7 @@ class job_t
|
||||||
/**
|
/**
|
||||||
A linked list of all the processes in this job.
|
A linked list of all the processes in this job.
|
||||||
*/
|
*/
|
||||||
process_t *first_process;
|
process_t *first_process;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
process group ID for the process group that this job is
|
process group ID for the process group that this job is
|
||||||
|
@ -268,17 +281,12 @@ class job_t
|
||||||
unique identifier of the job within this shell, and is
|
unique identifier of the job within this shell, and is
|
||||||
used e.g. in process expansion.
|
used e.g. in process expansion.
|
||||||
*/
|
*/
|
||||||
int job_id;
|
const int job_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
List of all IO redirections for this job
|
List of all IO redirections for this job
|
||||||
*/
|
*/
|
||||||
io_data_t *io;
|
io_data_t *io;
|
||||||
|
|
||||||
/**
|
|
||||||
A pointer to the next job in the job queue
|
|
||||||
*/
|
|
||||||
//struct job *next;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Bitset containing information about the job. A combination of the JOB_* constants.
|
Bitset containing information about the job. A combination of the JOB_* constants.
|
||||||
|
|
Loading…
Reference in a new issue