switch (td->runstate) {
case TD_REAPED:
- c = '_';
+ if (td->error)
+ c = 'X';
+ else if (td->sig)
+ c = 'K';
+ else
+ c = '_';
break;
case TD_EXITED:
c = 'E';
void print_thread_status(void)
{
struct jobs_eta *je;
+ size_t size;
- je = malloc(sizeof(*je) + thread_number * sizeof(char));
+ if (!thread_number)
+ return;
- memset(je, 0, sizeof(*je) + thread_number * sizeof(char));
+ size = sizeof(*je) + thread_number * sizeof(char) + 1;
+ je = malloc(size);
+ memset(je, 0, size);
if (calc_thread_status(je, 0))
display_thread_status(je);