I've been experimenting with the GNU Pth stuff for 1.2.10 on Solaris2.6. Some questions:

1. I don't believe the db2.7.7 backend is expected to be build pth-enabled, right ? In other words, OpenLDAP's threads will be switched by PTH based on calls into select/read/write, but database operations will not cause a thread switch.

I'm seeing connect timeouts happening from other clients when a long-running database search is in progress, and this (main select loop not getting back control) might be the cause.

Since the "syscall-soft" option is used during PTH build, to map system calls to select/read/write to PTH schedulable equivalents, would it be neccessary to build db2.7.7 also to use the PTH mappings ? This would mean including pth.h in their header files. Has anybody tried this ?

2. What section of code would need to be reworked to allow "safe" use of pre-emptive threads for 1.2.10. Is this likely to be a major redesign, or some simpler changes ?