On 4/20/22 14:24, Claudio Fontana wrote:
Hi,
I noticed that in the virThread API return values from threads are explicitly excluded
from the API.
The "virThreadHelper" sits in the middle between the caller of virThreadCreate
and pthread, making it impossible to return a value from the thread,
to check after joining the thread.
I'd need to know if the thread execution is successful or not then I join the
thread,
so what is the reason for this choice?
Should I use pthread directly instead?
Not at all. Just change the type of virThreadJoin(). At which point it's
harder to distinguish whether thread ran and returned a value, or thread
did not run/exited before the callback was called and retval we are
seeing comes from virThreadHelper(), but since it does not return
anything yet, it's easy to distinguish the two.
Whatever you do, please avoid using pthread directly.
Michal