| 1059 | } |
| 1060 | |
| 1061 | static NORETURN void die_async(const char *err, va_list params) |
| 1062 | { |
| 1063 | report_fn die_message_fn = get_die_message_routine(); |
| 1064 | |
| 1065 | die_message_fn(err, params); |
| 1066 | |
| 1067 | if (in_async()) { |
| 1068 | struct async *async = pthread_getspecific(async_key); |
| 1069 | if (async->proc_in >= 0) |
| 1070 | close(async->proc_in); |
| 1071 | if (async->proc_out >= 0) |
| 1072 | close(async->proc_out); |
| 1073 | pthread_exit((void *)128); |
| 1074 | } |
| 1075 | |
| 1076 | exit(128); |
| 1077 | } |
| 1078 | |
| 1079 | static int async_die_is_recursing(void) |
| 1080 | { |
nothing calls this directly
no test coverage detected