https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108835
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Iain D Sandoe <ia...@gcc.gnu.org>: https://gcc.gnu.org/g:ef4ea6e08707d27674a8c5ddb4b478aac8713c03 commit r14-2218-gef4ea6e08707d27674a8c5ddb4b478aac8713c03 Author: Iain Sandoe <i...@sandoe.co.uk> Date: Sat Feb 25 23:18:13 2023 +0000 modula-2: Amend the handling of failed select() calls in RTint [PR108835]. When we make a select() that fails, there is an attempt to (a) diagnose why and (b) make a fallback. These actions are causing some tests to hang on some Darwin versions, this is because the first action that is tried to assist in diagnosis/fallback handling is to replace the set timeout with NIL (which causes select to wait forever, modulo other reasons it might complete). To fix this, call select with a zero timeout when checking for error conditions. Also, as we check the possible failure conditions, if we find a change that succeeds, then stop looking for errors. Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> PR testsuite/108835 gcc/m2/ChangeLog: * gm2-libs/RTint.mod: Do not use NIL timeout setting on select, test failures sequentially, finishing on the first success.