There's a call to pthread_cond_destroy at line 311 in threadlib/pthread.c
that may be (mildly) troublesome.

The simple issue is that the code reads:

              if ( pthread_cond_destroy(&cit->threads[i].gocond))
                        perror("pthread_cond_destroy(gocond)");

However, pthread_cond_destroy in glibc-2.5-25 (at least) can return EBUSY,
rather than the traditional "return -1 and set errno" approach.  This means
that the subsequent perror() call displays a bogus error.

The same seems true of the other pthread_XXXX() calls.

[ Not, I agree, the end of the world... But it managed to confuse me for a
while that I was getting both "Success" and "Illegal seek" errors from a
thread library! ]

The more vaguely interesting thing is that pthread_cond_destroy() *is*
returning EBUSY.

Now, I know I can compile the thing without threads, but this is on a
mainstream Linux platform (SuSE 10.2), with a 2.6.18.2 kernel and, well,
there's no reason why threads shouldn't work.

Any suggestions?

(I'm not at a dead end yet, but thoughts from others would be welcome!)

Thanks,

Malc.


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to