[quoted lines by Eric Scheibler on 2013/12/15 at 21:27 +0100] >I'am not absolutely sure but I guess that the error often occurs after >permanent refreshing of the braille device. Mostly I can reproduce it when I >put the cursor on the first screen line and hold the SHIFT+ArrowDown shortcut >until the cursor touches the bottom of the screen. It also happens during >normal usage but so I can get your log file faster.
I believe that it's still related to your use of the eSpeak driver, which really means that it's based on a difficulty with thread creation. I did fix the way the eSpeak driver creates its own thread, but I didn't realize that eSpeak itself, within its own code, also creates threads which we can't control. I believe the proper fix is for us to create a safe thread within which the speech driver will run. For the curious, here's the technical explanation: When a thread is created, it inherits the signal mask of its parent thread. There's no way to override this. The core needs to run with the signal it's using for USB input unblocked, which means that any thread the core creates will also, at least initially, have this same signal unblocked. If more than one thread has a given signal unblocked, the kernel decides which of them should receive that signal. This means that the signal which tells the core that more USB input is available can go to the wrong thread, thus leaving the core totally unaware that there's more input to process. My attempt at the fix, yesterday, was to temporarily block the signal whenever the core needs to create a new thread. That worked just fine for core-created threads. The problem, however, is that we can't do the same thing when an external package, e.g. eSpeak, running within the core's thread creates its own internal threads. The current plan, therefore, is to create a speech thread within the core which'll then be responsible for actually running the various speech drivers. This'll take a bit to code. I'll let you know when it's done. -- Dave Mielke | 2213 Fox Crescent | The Bible is the very Word of God. Phone: 1-613-726-0014 | Ottawa, Ontario | http://Mielke.cc/bible/ EMail: d...@mielke.cc | Canada K2A 1H7 | http://FamilyRadio.com/ _______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: BRLTTY@mielke.cc For general information, go to: http://mielke.cc/mailman/listinfo/brltty