in reply to Unsticking a thread
What is the nature of the hang? Is it using CPU at all while waiting? Is this Radius package thread-safe?
If all your threads lock up, that strongly suggests to me that you're sharing something that you shouldn't: if you're using Radius objects (or maybe some other class) from another thread you may well find that the package isn't thread-safe. If you're sure it is thread-safe then check whether you're sharing something inappropriate — could you have more than one thread trying to read from that socket, for example?
It is possible to use non-thread-safe modules in threaded applications, but generally you have to confine your use of the module to a single thread in order to get away with it. Occasionally you can hack it by creating a lock outside the module and using that to serialise access to the module.
A little more contextual detail would help…
|
|---|