add: case SIGTSTP:
context: int main(int argc, char *argv[]){#if (__GNU_LIBRARY__ >= 6)  setlocale (LC_CTYPE, "");#endif#ifdef DEBUG  init_stack_trace(argv[0]);#else  do {    struct sigaction sa;    int i = 32;    memset(&sa, 0, sizeof(sa));    sa.sa_handler = signal_handler;    sigfillset(&sa.sa_mask);    while(i--) switch(i){    default:      sigaction(i,&sa,NULL);    case 0:    case SIGINT:   /* ^C */    case SIGQUIT:  /* ^\ */    case SIGPROF:  /* profiling */    case SIGKILL:  /* can not catch */    case SIGSTOP:  /* can not catch */    case SIGWINCH: /* don't care if window size changes */      ;    }  } while (0);#endif  reset_global();  /* must be before parser */  arg_parse(argc,argv);/*  arg_show(); */  trace("screen is %ux%u\n",screen_cols,screen_rows);/*  printf("sizeof(proc_t) is %d.\n", sizeof(proc_t)); */  trace("======= ps output follows =======\n");  init_output(); /* must be between parser and output */  lists_and_needs();  if(forest_type || sort_list) fancy_spew(); /* sort or forest */  else simple_spew(); /* no sort, no forest */  show_one_proc((proc_t *)-1,format_list); /* no output yet? */  return 0;}