Subject: bug#25214: #25214 26.0.50; Interacting with user from threads other than the primary

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 Feb 2019 19:25:51 +0200

> From: Zhang Haijun <[email-masked]>
> CC: "[email-masked]" <[email-masked]>
> Date: Thu, 7 Feb 2019 14:56:22 +0000
> 
> 
> Sorry for my poor English and poor expression. I mean a data channel, for example a pair of fd created by pipe() or a pair of sockets created by socketpair(). producer-consumer model.
> 
> > If another thread writes to some fd, it means the main thread is not
> > running, so it cannot receive the event, even if we did find the way
> > of having an fd which can be read by one thread and written by all the
> > others.
> 
> Another thread send a input request and then be blocked on a lock(for example, keybord lock, one lock per thread). The main thread(or keybord sheduler thread) then can wake up one thread and give keybord to it.

Unless the thread that listens to these requests is never blocked, I
don't see how this could work.

And in any case, what should a non-main thread do if it wants to ask a
question?  Asking a question involves displaying the question before
reading the answer.  You only talked about the second part.