> This is a LAM build bug to do with threads and errno. I did a fresh
> build on Solaris with the Sun compilers and the SSI RPI modules are
> not being compiled with -mt hence functions in the RPIs do not get the
> correct errno value when running in a thread other than the main thread.
> Functions like swritev() in ssi_rpi_tcp_low.c use errno to detect error
> conditions when writing to sockets amd are getting thrown off by not
> getting the correct value for errno. When everything runs in the main
> thread the correct value of errno is picked up and this is why the code
> runs OK in that case. Recompiling the SSI RPI modules with -mt fixes
> the problem.
>
Yep, that fixed it! Thank you very much, Nick!
--
Andriy Fedorov
Department of Computer Science,
College of William & Mary
P.O. Box 8795
Williamsburg, VA 23185-8795, USA
---
http://www.cs.wm.edu/~fedorov
|