[ECOS] POSIX pause() never returns

Hans Rosenfeld rosenfeld@grumpf.hope-2000.org
Tue Jun 12 23:30:00 GMT 2007

While running some of the POSIX package testcases I noticed that pause()
never returns. I traced this problem to this patch:

What happens here is that cyg_deliver_signals() is called through
posix_asr() -> cyg_posix_signal_asr() -> cyg_deliver_signals() while the
thread is waiting in pause(). After this the thread continues in the
while loop, calling cyg_deliver_signals() again. This call will return
false since there are no more signals pending, and the thread waits

I don't understand the purpose of the above patch, but reverting it
makes pause() work as expected for me.

%SYSTEM-F-ANARCHISM, The operating system has been overthrown

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list