This code did not return properly when a process oriented signal

was pending.  Reported by Wayne Bullaughey <wayneb@cacdsp.com>.
This commit is contained in:
Joel Sherrill
2000-01-11 15:42:05 +00:00
parent 86c9eb0e28
commit 4fa5eaee52
2 changed files with 10 additions and 12 deletions

View File

@@ -84,11 +84,10 @@ int sigtimedwait(
signo = _POSIX_signals_Get_highest( _POSIX_signals_Pending ); signo = _POSIX_signals_Get_highest( _POSIX_signals_Pending );
_POSIX_signals_Clear_signals( api, signo, the_info, TRUE, FALSE ); _POSIX_signals_Clear_signals( api, signo, the_info, TRUE, FALSE );
if ( !info ) {
the_info->si_signo = signo; the_info->si_signo = signo;
the_info->si_code = SI_USER; the_info->si_code = SI_USER;
the_info->si_value.sival_int = 0; the_info->si_value.sival_int = 0;
} return signo;
} }
interval = 0; interval = 0;

View File

@@ -84,11 +84,10 @@ int sigtimedwait(
signo = _POSIX_signals_Get_highest( _POSIX_signals_Pending ); signo = _POSIX_signals_Get_highest( _POSIX_signals_Pending );
_POSIX_signals_Clear_signals( api, signo, the_info, TRUE, FALSE ); _POSIX_signals_Clear_signals( api, signo, the_info, TRUE, FALSE );
if ( !info ) {
the_info->si_signo = signo; the_info->si_signo = signo;
the_info->si_code = SI_USER; the_info->si_code = SI_USER;
the_info->si_value.sival_int = 0; the_info->si_value.sival_int = 0;
} return signo;
} }
interval = 0; interval = 0;