mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-07 09:13:32 +08:00
Add logic to retain child task exit status if so configured
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5553 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -74,6 +74,7 @@
|
||||
#define TCB_FLAG_NONCANCELABLE (1 << 2) /* Bit 2: Pthread is non-cancelable */
|
||||
#define TCB_FLAG_CANCEL_PENDING (1 << 3) /* Bit 3: Pthread cancel is pending */
|
||||
#define TCB_FLAG_ROUND_ROBIN (1 << 4) /* Bit 4: Round robin sched enabled */
|
||||
#define TCB_FLAG_NOCLDWAIT (1 << 5) /* Bit 5: Do not retain child exit status */
|
||||
|
||||
/* Values for struct child_status_s ch_flags */
|
||||
|
||||
@@ -183,7 +184,7 @@ struct child_status_s
|
||||
FAR struct child_status_s *flink;
|
||||
|
||||
uint8_t ch_flags; /* Child status: See CHILD_FLAG_* definitions */
|
||||
pid_y ch_pid; /* Child task ID */
|
||||
pid_t ch_pid; /* Child task ID */
|
||||
int ch_status; /* Child exit status */
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -129,11 +129,13 @@
|
||||
|
||||
/* struct sigaction flag values */
|
||||
|
||||
#define SA_NOCLDSTOP 1 /* Do not generate SIGCHILD when
|
||||
* children stop (ignored) */
|
||||
#define SA_SIGINFO 2 /* Invoke the signal-catching function
|
||||
* with 3 args instead of 1
|
||||
* (always assumed) */
|
||||
#define SA_NOCLDSTOP (1 << 0) /* Do not generate SIGCHILD when
|
||||
* children stop (ignored) */
|
||||
#define SA_SIGINFO (1 << 1) /* Invoke the signal-catching function
|
||||
* with 3 args instead of 1
|
||||
* (always assumed) */
|
||||
#define SA_NOCLDWAIT (1 << 2) /* If signo=SIGCHLD, exit status of child
|
||||
* processes will be discarded */
|
||||
|
||||
/* These are the possible values of the signfo si_code field */
|
||||
|
||||
|
||||
@@ -158,13 +158,13 @@ typedef uint16_t ino_t;
|
||||
* negative PID values are used to represent invalid PIDs.
|
||||
*/
|
||||
|
||||
typedef int pid_t;
|
||||
typedef int16_t pid_t;
|
||||
|
||||
/* id_t is a general identifier that can be used to contain at least a pid_t,
|
||||
* uid_t, or gid_t.
|
||||
*/
|
||||
|
||||
typedef unsigned int id_t;
|
||||
typedef int16_t id_t;
|
||||
|
||||
/* Signed integral type of the result of subtracting two pointers */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user