[OpenAFS] OpenAFS on HP-UX 10.2

Mika, David P (CRD) mika@exc01crdge.crd.ge.com
Wed, 4 Apr 2001 11:16:32 -0400

>Well, I've got it built, sortof... Had to disable all the threading stuff,
>as the pthreads provided by DCE on hpux10 isn't sufficient. It's missing
>some routines, and some defines, like PTHREAD_CREATE_DETACHED.

Yes, I see.  This may offer some insight:


"Fundamental problem in porting threads to HP-UX 10.20 
If you attempt to port code using POSIX threads from Sun Solaris or 
Digital Unix to HP-UX 10.20, you will see errors about missing 
symbols (such as pthread_attr_init) from the linker. 

"The issue here is one of standards and functionality. On Solaris and 
Digital's Unix your code is using native (or kernel) threads for 
which the POSIX standard is 1003.1c which is also the standard used 
on HP-UX 10.30/11.0. The example routine reported as absent by the 
linker in your example above is a part of this standard. 

"On HP-UX 10.20 your application will be using CMA (Common Machine 
Architecture) or DEC Threads provided by installing the DCE 
developer's filesets. These threads are defined in the POSIX standard 
1003.4a, and are not true threads in the sense that every thread 
created within a given process will compete for CPU time on the same 
SPU. With true kernel (or native) threads, found on HP-UX 10.30/11.0, 
threads created within a given executable may find themselves running 
on different SPUs, thus bestowing the possibility of an element of 
parallelism to the application. Thus porting code from systems with 
true kernel threads to HP-UX 10.20 will result in a loss of 
parallelism as well as requiring you to re-code to the less 
functional API implied by 1003.4a."