[bt-devel] thread problems

Martin Gruner bt-devel@crosswire.org
Sun, 14 Jan 2001 14:16:00 +0100


Hi Joachim,

> -Is Sword thread-save and reentrant?
> I think not, because it uses global variables and does not use
> pthread_mutex_t or similair methods to check if another instance reads at
> the same time variables or modules from disk.

I guess so.

> -Maybe BibleTime isn't thread-safe?

I guess so, also.

> The problem doesn't occur in BibleTime from December. This is _really_
> strange because I can't see the difference in the code.

When I did the threading in BT I had some very weird problems where I could 
not figure out the reason. But the problem may have been that I have very 
small knowledge of threading, which may be the same for you.
Concerning BT my proposal would be that we get some good information about it 
and put it into the docs; and we should use QT THREADS. That might save us a 
lot of work and is probably more easy than using pure pthreads.
For sword I don't know what should be done. I once asled on sword-devel, but 
nobody knew wether sword really _is_ thread safe. How can you find out if a 
program is thread safe, and how can you make it thread safe?
BTW, what is reentrant?
Do such problems (BBE) also occur in the windows version?

Martin