void exec_status_start(ExecStatus *s, pid_t pid) {
assert(s);
- zero(*s);
- s->pid = pid;
+ *s = (ExecStatus) {
+ .pid = pid,
+ };
+
dual_timestamp_get(&s->start_timestamp);
}
void exec_status_exit(ExecStatus *s, const ExecContext *context, pid_t pid, int code, int status) {
assert(s);
- if (s->pid && s->pid != pid)
- zero(*s);
+ if (s->pid != pid) {
+ *s = (ExecStatus) {
+ .pid = pid,
+ };
+ }
- s->pid = pid;
dual_timestamp_get(&s->exit_timestamp);
s->code = code;
if (context) {
if (context->utmp_id)
- utmp_put_dead_process(context->utmp_id, pid, code, status);
+ (void) utmp_put_dead_process(context->utmp_id, pid, code, status);
exec_context_tty_reset(context, NULL);
}