Dear NuttXers,

I want to know if there are some hidden configuration that forces all
children to die when the father task die.

Currently only teh main task dies:

nsh> family &

nsh> ps
  PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK   STACK COMMAND
  ...
   27    27 100 RR       Task    --- Waiting  Signal    00000000 004032 family
   28    28 100 RR       Task    --- Waiting  Semaphore 00000000
004032 child1_daemon
   29    29 100 RR       Task    --- Waiting  Signal    00000000
004032 child2_daemon
   30    30 100 RR       Task    --- Waiting  Signal    00000000
001984 child3_daemon

nsh> kill 27
nsh> ps
  PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK   STACK COMMAND
  ...
   28    28 100 RR       Task    --- Waiting  Signal    00000000
004032 child1_daemon
   29    29 100 RR       Task    --- Waiting  Signal    00000000
004032 child2_daemon
   30    30 100 RR       Task    --- Waiting  Signal    00000000
001984 child3_daemon

I could setup a signal handling to handle the kill signal in the main
task and use it to change the value of some conditional variable that
maintain the threads loop of each child running, this is is an option,
but maybe there are better option.

Please let me know how you are solving this issue.

BR,

Alan

Reply via email to