+ RL_CHECK_SIGNALS ();
+
+ /* We know at this point that _rl_caught_signal == 0 */
+
+#if defined (__MINGW32__)
+ if (isatty (fileno (stream)))
+ return (_getch ()); /* "There is no error return." */
+#endif
+ result = 0;
+#if defined (HAVE_PSELECT)
+ FD_ZERO (&readfds);
+ FD_SET (fileno (stream), &readfds);
+# if defined (HANDLE_SIGNALS)
+ result = pselect (fileno (stream) + 1, &readfds, NULL, NULL, NULL, &_rl_orig_sigset);
+# else
+ sigemptyset (&empty_set);
+ sigprocmask (SIG_BLOCK, (sigset_t *)NULL, &empty_set);
+ result = pselect (fileno (stream) + 1, &readfds, NULL, NULL, NULL, &empty_set);
+# endif /* HANDLE_SIGNALS */
+#endif
+ if (result >= 0)
+ result = read (fileno (stream), &c, sizeof (unsigned char));