Description of problem: (Component is just a guess) Executing nanosleep from a 32-bit returns wrong value in errno when interrupted by a signal (EINVAL instead of EINTR). For quick reference here is man page description: ==== In case of an error or exception, the nanosleep system call returns -1 instead of 0 and sets errno to one of the following values: EINTR The pause has been interrupted by a non-blocked signal that was delivered to the process. The remaining sleep time has been written into *rem so that the process can easily call nanosleep again and continue with the pause. EINVAL The value in the tv_nsec field was not in the range 0 to 999 999 999 or tv_sec was negative. Version-Release number of selected component (if applicable): How reproducible: Run repro.sh from attached archive. Actual results: errno is EINVAL Expected results: errno should be EINTR Additional info:
Mea culpa! This was my first attempt to submit a bug. The attachment was missing. I now understand that I could add it later. 145338 is the same bug with the repro file attached.
*** This bug has been marked as a duplicate of 145338 ***