Subject: Re: bug#50043: 28.0.50; USABLE_SIGOI undef code paths do not work correctly

From: Eli Zaretskii <[email-masked]>
Date: Fri, 13 Aug 2021 18:51:53 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked]
> Date: Fri, 13 Aug 2021 16:31:52 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > can you tell where does it hang, and why?  Bonus points for explaining
> > why the same scenario doesn't hang for USABLE_SIGIO platforms.
> 
> It's hanging here:
> 
> x_get_foreign_selection (Lisp_Object selection_symbol, Lisp_Object target_type,
> 			 Lisp_Object time_stamp, Lisp_Object frame)
> {
> [...]
>   wait_reading_process_output (secs, nsecs, 0, false,
> 			       reading_selection_reply, NULL, 0);
> 
> That is, it's not really hanging hanging, but this sometimes takes a
> couple of seconds without SIGIO, while it returns instantaneously with
> SIGOI.

Do you understand which code un-hangs it when USABLE_SIGIO is defined?
Or is it a SIGIO signal that arrives and does that?  If the latter,
any idea what causes that SIGIO?

Thanks.