diff --git a/TODO b/TODO index 0c17856b6e..5d484fd1da 100644 --- a/TODO +++ b/TODO @@ -11,7 +11,7 @@ nuttx/ (13) Task/Scheduler (sched/) (1) Memory Management (mm/) - (3) Signals (sched/signal, arch/) + (4) Signals (sched/signal, arch/) (2) pthreads (sched/pthread) (0) Message Queues (sched/mqueue) (6) Kernel/Protected Build @@ -360,6 +360,17 @@ o Signals (sched/signal, arch/) Status: Open Priority: Low. Even if there are only 31 usable signals, that is still a lot. + Title: THREAD COMMON SIGNAL HANDLING + Description: Signal handlers are assigned on a per thread basis. Signal lists + and data structures are a part of the TCB. This is incorrect. + Signal handlers are a global property of the task group: The + main thread and all of its child threads. Signal handlers for + all threads should be attach-able from the main thread, for + example. + Status: Open + Priority: Medium. This is a pretty big violation of the signal handling + principles. + o pthreads (sched/pthreads) ^^^^^^^^^^^^^^^^^ diff --git a/sched/signal/sig_cleanup.c b/sched/signal/sig_cleanup.c index 0d623e504c..5847a3f83c 100644 --- a/sched/signal/sig_cleanup.c +++ b/sched/signal/sig_cleanup.c @@ -42,26 +42,6 @@ #include "signal/signal.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Declarations - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/sched/signal/sig_findaction.c b/sched/signal/sig_findaction.c index 659e832002..0980e0658d 100644 --- a/sched/signal/sig_findaction.c +++ b/sched/signal/sig_findaction.c @@ -40,26 +40,6 @@ #include #include "signal/signal.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Declarations - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/sched/signal/sig_initialize.c b/sched/signal/sig_initialize.c index 5056325ec9..02c0685efd 100644 --- a/sched/signal/sig_initialize.c +++ b/sched/signal/sig_initialize.c @@ -45,14 +45,6 @@ #include "signal/signal.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Declarations - ****************************************************************************/ - /**************************************************************************** * Public Data ****************************************************************************/ diff --git a/sched/signal/sig_lowest.c b/sched/signal/sig_lowest.c index 9f8b6d5179..5474e25e7d 100644 --- a/sched/signal/sig_lowest.c +++ b/sched/signal/sig_lowest.c @@ -43,26 +43,6 @@ #include "signal/signal.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Declarations - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/sched/signal/sig_nanosleep.c b/sched/signal/sig_nanosleep.c index ccd8e30769..9ffbcb52c7 100644 --- a/sched/signal/sig_nanosleep.c +++ b/sched/signal/sig_nanosleep.c @@ -49,26 +49,6 @@ #include "clock/clock.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Declarations - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/sched/signal/sig_pause.c b/sched/signal/sig_pause.c index 9c390308f4..80fc712cb7 100644 --- a/sched/signal/sig_pause.c +++ b/sched/signal/sig_pause.c @@ -42,26 +42,6 @@ #include #include -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Definitions - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/sched/signal/sig_waitinfo.c b/sched/signal/sig_waitinfo.c index 2107071160..d271dc9884 100644 --- a/sched/signal/sig_waitinfo.c +++ b/sched/signal/sig_waitinfo.c @@ -40,26 +40,6 @@ #include #include -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Type Declarations - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Variables - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/