FAQ
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1.                   Answers to frequently asked questions
  2.                   for my implementation of POSIX threads
  3. -------------------------------------------------------------------------------
  4. 1. Pthreads
  5. (1.0) What is Pthreads?
  6. (1.1) Where can I get info on Pthreads?
  7. 2. Getting, Building, Installing and Using proven's Pthreads
  8. (2.0) Where can I get the latest version of proven's Pthreads?
  9. (2.1) What platforms does proven's Pthreads run on?
  10. (2.2) What do I need to build proven's Pthreads?
  11. (2.3) How do I install proven's Pthreads?
  12. 3. Known Problems
  13. (3.0) Tests
  14. (3.1) Installation
  15. (3.2) Missing functionality
  16. (3.3) Signals
  17. -------------------------------------------------------------------------------
  18. 1. Pthreads
  19. (1.0) What is Pthreads?
  20. Pthreads stands for POSIX threads and is based on the POSIX 1003.1c 1995 
  21. thread standard. This standard passed international Standards Organization 
  22. (ISO) Committee Document (CD) balloting in February 1995 and got the 
  23. IEEE Standards Board approval in June 1995.
  24. (1.1) Where can I get info on Pthreads?
  25. You can call IEEE (908) 562-3800 which is the organization which POSIX 
  26. belongs, and ask for POSIX 1003.1c (not 1003.4a) draft 10 (the standard
  27. won't be out until sometime in 1996). The draft costs $30.00 plus shipping 
  28. which for me was $4.00. The IEEE doesn't make any of the standards available 
  29. online. 
  30. I have made documentation for some of the functions available online.
  31. To reference these use http://www.mit.edu:8001/people/proven/pthreads.html
  32. -------------------------------------------------------------------------------
  33. 2. Getting, Building, Installing and Using proven's Pthreads
  34. (2.0) Where can I get the latest version of proven's Pthreads?
  35. The latest version is pthreads-1_60_beta6 was release on November 16, 1996
  36. and is available from sipb.mit.edu:/pub/pthreads.
  37. (2.1) What platforms does proven's Pthreads run on?
  38. Lot's! It should run on the following platforms; the i386 processor
  39. running NetBSD-1.x, FreeBSD-2.x, BSDOS-2.0, Linux-1.2 and Linux-1.3; 
  40. the r2000 (DECstation) running Ultrix-4.2; the Sparc running NetBSD-1.x, 
  41. SunOS-4.1.3, Solaris-2.3, and Solaris-2.4; the alpha running OSF-2.3 and 
  42. OSF-3.x; the SGI running IRIX-5.2; and the HPPA running HP/UX-9.x.
  43. Because it runs on so many platforms I don't get to compile and test every 
  44. platform for every release. If you have a problem send mail to
  45. pthreads-bugs@mit.edu with the processor, OS, and version number along with
  46. a description of the bug.
  47. (2.2) What do I need to build proven's Pthreads?
  48. You will need gcc and gmake to build for all but NetBSD, FreeBSD and BSDOS.
  49. For those you may use either gmake or pmake (the native make).
  50. (2.3) How do I install proven's Pthreads?
  51. Installing pthreads is real easy. At the top level of pthreads do
  52. configure
  53. make
  54. make install
  55. It will be installed into the directory /usr/local/pthreads. If you don't 
  56. like the location add a --prefix=<dir> option to configure. That's it.
  57. -------------------------------------------------------------------------------
  58. 3. Known problems.
  59. (3.0) Tests
  60. Under SunOS-4.1.x there is a bug in the kernel that prevents test_sock_1
  61. from passing. This bug has to do with a process tring to connect to itself.
  62. In respose I wrote test_sock_2 to test the socket code for SunOS which 
  63. does work. You should have no problems using the socket code in SunOS
  64. so long as you don't write a program that need to connect to itself.
  65. (3.1) Installation
  66. The only know problem is on the SGI. You will need to use GNU tar instead
  67. of the native supplied one or edit the config.flags file and remove the -h
  68. option to tar. Aparently the -h option on IRIX 5.3 version of tar does the
  69. exact opposite of all the other versions of tar I've used and instead of
  70. following symbolic links and getting the file it archives the link.
  71. (3.2) Missing functionality
  72. The current release is missing cancelation, priority mutexes and others.
  73. I'm continuing to develope pthreads and I plan to put cancelation and 
  74. priority mutexes and as much other stuff as I can into the 1_70 release
  75. (3.3) Signals
  76. Currently to intermix signals with pthreads you need to rename all calls
  77. to signal() and sigaction() to pthread_signal() and pthread_sigaction().
  78. I plan to write real wrapper routines for signal() and sigaction() for
  79. the 1_70 release.