[raspberry-vi] Re: Deadlock bug fix

  • From: Rill <starbasecafe@xxxxxxxxx>
  • To: raspberry-vi@xxxxxxxxxxxxx
  • Date: Sat, 19 Aug 2017 15:37:52 -0500

good work!

Rill -- Sent from my iPhone

On Aug 19, 2017, at 3:30 PM, Mike Ray <mike@xxxxxxxxxxxxxxx> wrote:

Hello folks

Today I have managed to bring about something of a rush of blood to the
head and probably finally fix the deadlock bug which was causing my OMX
audio code to fail after several days running.

First a bit of background...

Many will be familiar with the fact that espeak and speakup stutters
very badly in it's default incarnation.

Using the usual combination of espeakup to connect speakup to espeak,
the tts stutters and crashes the kernel all the time.

This I solved a couple of years ago with the OMX audio code.

But for a long time there has been a tendency for that code to cause the
console audio to go silent after a few days for no apparent reason.

For a long time I have suspected a deadlock bug since there is loads of
thread syncrhonisation and thread concurrency code in the library.

Today I have ripped a lot of it out.

This I have done by removing the use of a ring buffer and I'm now just
using the OMX buffer-queueing mecyhanism.

All my test programs are working very nicely, and over the next day or
so will modify piespeakup to use this new version of the library.

I have also changed it's name, since libilctts was not really very
descriptive. It's now libpiespeak.

The primary reason for this, apart from finally trying to solve the
deadlock bug bug, is to try to write a speech-dispatcher driver so that
we can drop the need for USB audio which we currently use to get around
the stuttering espeak text-to-speech in the desktop.

And with a speech-dispatcher driver it will also be possible to use
`speechd.el` to connect Emacspeak to speech-dispatcher.

Mike


-- 
Michael A. Ray
Analyst/Programmer
Witley, Surrey, South-east UK

Disclaimer: It wasn't me, you didn't see me, you can't prove a thing.

https://cromarty.github.io/
http://eyesfreelinux.ninja/
http://www.raspberryvi.org/


=========================================================== 
The raspberry-vi mailing list 
Archives: //www.freelists.org/archives/raspberry-vi
Administrative contact: <mike.ray@xxxxxxxxxxxxxx>
-----------------------------------------------------------
Raspberry Pi and the Raspberry Pi logo are trademarks of the Raspberry Pi 
Foundation.

This list is not affiliated to the Raspberry Pi Foundation and the views and 
attitudes expressed by the subscribers to this list do not reflect those of the 
Foundation.

Mike Ray, list creator, January 2013

=========================================================== 
The raspberry-vi mailing list 
Archives: //www.freelists.org/archives/raspberry-vi
Administrative contact: <mike.ray@xxxxxxxxxxxxxx>
-----------------------------------------------------------
Raspberry Pi and the Raspberry Pi logo are trademarks of the Raspberry Pi 
Foundation.

This list is not affiliated to the Raspberry Pi Foundation and the views and 
attitudes expressed by the subscribers to this list do not reflect those of the 
Foundation.

Mike Ray, list creator, January 2013

Other related posts: