sig_timedwait: Pending signal structure used after it has been releasd. From anonymous Bitbucket Issue 59.

This commit is contained in:
Gregory Nutt 2017-07-27 12:32:47 -06:00
parent f287cc25d6
commit 6b6d7ce9b9
1 changed files with 4 additions and 4 deletions

View File

@ -234,14 +234,14 @@ int sigtimedwait(FAR const sigset_t *set, FAR struct siginfo *info,
memcpy(info, &sigpend->info, sizeof(struct siginfo));
}
/* The return value is the number of the signal that awakened us */
ret = sigpend->info.si_signo;
/* Then dispose of the pending signal structure properly */
sig_releasependingsignal(sigpend);
leave_critical_section(flags);
/* The return value is the number of the signal that awakened us */
ret = sigpend->info.si_signo;
}
/* We will have to wait for a signal to be posted to this task. */