mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
123 lines
4.2 KiB
Text
123 lines
4.2 KiB
Text
|
|
||
|
Answers to frequently asked questions
|
||
|
for my implementation of POSIX threads
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
1. Pthreads
|
||
|
|
||
|
(1.0) What is Pthreads?
|
||
|
(1.1) Where can I get info on Pthreads?
|
||
|
|
||
|
2. Getting, Building, Installing and Using proven's Pthreads
|
||
|
|
||
|
(2.0) Where can I get the latest version of proven's Pthreads?
|
||
|
(2.1) What platforms does proven's Pthreads run on?
|
||
|
(2.2) What do I need to build proven's Pthreads?
|
||
|
(2.3) How do I install proven's Pthreads?
|
||
|
|
||
|
3. Known Problems
|
||
|
|
||
|
(3.0) Tests
|
||
|
(3.1) Installation
|
||
|
(3.2) Missing functionality
|
||
|
(3.3) Signals
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
1. Pthreads
|
||
|
|
||
|
(1.0) What is Pthreads?
|
||
|
|
||
|
Pthreads stands for POSIX threads and is based on the POSIX 1003.1c 1995
|
||
|
thread standard. This standard passed international Standards Organization
|
||
|
(ISO) Committee Document (CD) balloting in February 1995 and got the
|
||
|
IEEE Standards Board approval in June 1995.
|
||
|
|
||
|
|
||
|
(1.1) Where can I get info on Pthreads?
|
||
|
|
||
|
You can call IEEE (908) 562-3800 which is the organization which POSIX
|
||
|
belongs, and ask for POSIX 1003.1c (not 1003.4a) draft 10 (the standard
|
||
|
won't be out until sometime in 1996). The draft costs $30.00 plus shipping
|
||
|
which for me was $4.00. The IEEE doesn't make any of the standards available
|
||
|
online.
|
||
|
|
||
|
I have made documentation for some of the functions available online.
|
||
|
To reference these use http://www.mit.edu:8001/people/proven/pthreads.html
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
2. Getting, Building, Installing and Using proven's Pthreads
|
||
|
|
||
|
(2.0) Where can I get the latest version of proven's Pthreads?
|
||
|
|
||
|
The latest version is pthreads-1_60_beta6 was release on November 16, 1996
|
||
|
and is available from sipb.mit.edu:/pub/pthreads.
|
||
|
|
||
|
|
||
|
(2.1) What platforms does proven's Pthreads run on?
|
||
|
|
||
|
Lot's! It should run on the following platforms; the i386 processor
|
||
|
running NetBSD-1.x, FreeBSD-2.x, BSDOS-2.0, Linux-1.2 and Linux-1.3;
|
||
|
the r2000 (DECstation) running Ultrix-4.2; the Sparc running NetBSD-1.x,
|
||
|
SunOS-4.1.3, Solaris-2.3, and Solaris-2.4; the alpha running OSF-2.3 and
|
||
|
OSF-3.x; the SGI running IRIX-5.2; and the HPPA running HP/UX-9.x.
|
||
|
|
||
|
Because it runs on so many platforms I don't get to compile and test every
|
||
|
platform for every release. If you have a problem send mail to
|
||
|
pthreads-bugs@mit.edu with the processor, OS, and version number along with
|
||
|
a description of the bug.
|
||
|
|
||
|
|
||
|
(2.2) What do I need to build proven's Pthreads?
|
||
|
|
||
|
You will need gcc and gmake to build for all but NetBSD, FreeBSD and BSDOS.
|
||
|
For those you may use either gmake or pmake (the native make).
|
||
|
|
||
|
|
||
|
(2.3) How do I install proven's Pthreads?
|
||
|
|
||
|
Installing pthreads is real easy. At the top level of pthreads do
|
||
|
|
||
|
configure
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
It will be installed into the directory /usr/local/pthreads. If you don't
|
||
|
like the location add a --prefix=<dir> option to configure. That's it.
|
||
|
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
3. Known problems.
|
||
|
|
||
|
(3.0) Tests
|
||
|
|
||
|
Under SunOS-4.1.x there is a bug in the kernel that prevents test_sock_1
|
||
|
from passing. This bug has to do with a process tring to connect to itself.
|
||
|
In respose I wrote test_sock_2 to test the socket code for SunOS which
|
||
|
does work. You should have no problems using the socket code in SunOS
|
||
|
so long as you don't write a program that need to connect to itself.
|
||
|
|
||
|
|
||
|
(3.1) Installation
|
||
|
|
||
|
The only know problem is on the SGI. You will need to use GNU tar instead
|
||
|
of the native supplied one or edit the config.flags file and remove the -h
|
||
|
option to tar. Aparently the -h option on IRIX 5.3 version of tar does the
|
||
|
exact opposite of all the other versions of tar I've used and instead of
|
||
|
following symbolic links and getting the file it archives the link.
|
||
|
|
||
|
|
||
|
(3.2) Missing functionality
|
||
|
|
||
|
The current release is missing cancelation, priority mutexes and others.
|
||
|
I'm continuing to develope pthreads and I plan to put cancelation and
|
||
|
priority mutexes and as much other stuff as I can into the 1_70 release
|
||
|
|
||
|
|
||
|
(3.3) Signals
|
||
|
|
||
|
Currently to intermix signals with pthreads you need to rename all calls
|
||
|
to signal() and sigaction() to pthread_signal() and pthread_sigaction().
|
||
|
I plan to write real wrapper routines for signal() and sigaction() for
|
||
|
the 1_70 release.
|
||
|
|