2001 FREENIX Track Technical Program - Abstract
Building an Open-source
Solaris-compatible Threads Library
John Wood, Compaq Computer (UK) Ltd
Abstract
Applications that use
the Solaris threads application programming interface (API), e.g. thr_create(),
mutex_lock(), cond_signal(),
etc., are generally non-portable. Thus to port an
application that uses Solaris threads to another platform will require
some degree of work.
Solaris now supports
the POSIX threads API as well as the Solaris threads API. Therefore to
make a Solaris threaded application portable, the ideal is to re-code the
threaded part of the application to use POSIX threads. However, the Solaris
threads API has some unique functionality over the POSIX threads API. This
can make the task of converting a Solaris threaded application to use POSIX
threads be very time-consuming and hence expensive, sometimes prohibitively
so.
This paper outlines
an alternative approach to porting applications that use the Solaris threads
API, which is to use an open-source Solaris-compatible threads library
that layers upon a POSIX threads library. The objective is to allow an
otherwise-portable Solaris threaded application to be ported by simply
rebuilding on the target platform using the Solaris-compatible threads
library and header-files. This reduces the cost of porting the application.
|