FAQ
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:4k
- 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.