home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c004 / 2.ddi / XENIX / README.XNX < prev   
Encoding:
Text File  |  1989-04-18  |  3.1 KB  |  109 lines

  1. c-tree(R) V4.3 Release C
  2. February 7, 1989 17:30
  3.  
  4. ---------
  5. General
  6. ---------
  7.  
  8. See the INSTALLATION GUIDE for details on porting c-tree to Xenix and
  9. creating the appropriate libraries.
  10.  
  11. ---------
  12. Make Files
  13. ---------
  14.  
  15. There are three make scripts provided for Xenix systems:
  16.  
  17.     makesrv - makes a Xenix background server
  18.     makeapp - makes applications to run with the server
  19.     makesgl - makes non-server (single user) applications
  20.     
  21. For example (assuming that the c-tree code is in the directory 
  22. /usr/ctree),
  23.  
  24.     sh makeapp M   where M = {s m l}
  25.     
  26. will create objects in /usr/acct/Mapp (where M = s, m or l), and
  27. place the c-tree library in /lib and the executables in /usr/bin.
  28.  
  29.  
  30. Executing
  31.  
  32.     sh makesrv M   where M = {s m l}
  33.  
  34. will create objects in /usr/ctree/Msrv, place a server library
  35. in /lib and place the server executable in the file /usr/bin/ctsrvr.
  36.  
  37. The makesgl script is used for a single user library, and to create the
  38. utilities such as rebuild. It is invoked by
  39.  
  40.     sh makesgl M   where M = {s m l}
  41.  
  42.  
  43. ---------
  44. Xenix 386
  45. ---------
  46.  
  47. There are three additional make files used for the SCO Xenix 386
  48. environment. They are invoked by the shell scripts m386app, m386srv and
  49. m386sgl.  No memory model is specified since the 32 bit 386 environment
  50. only has one model (32 bit addresses).
  51.  
  52.  
  53. ---------
  54. Server
  55. ---------
  56.  
  57. Once you have created a c-tree server (which will be placed in
  58. /usr/bin/ctsrvr), you initiate the server with a command line
  59. of the form
  60.  
  61.     ctsrvr >ctsrvr.out &
  62.     
  63. which causes the server output to be redirected, and places the
  64. server in the background.  The server as distributed ignores
  65. the hang-up signal (SIGHUP).  Therefore, logging off of the system
  66. does not terminate the server.
  67.  
  68. The c-tree server uses two queues.
  69.  
  70.  
  71. --------
  72. User Clean-Up Demon
  73. --------
  74.  
  75. Each application which calls on the server automatically
  76. invokes (through a fork coded in CTAMSG.C) a program
  77. (usr/bin/ctdemn) which sleeps until the application is terminated,
  78. killed or otherwise aborted.  When this demon wakes up,
  79. it sends a message to the server which ensures
  80. that the user is properly logged-off the server.
  81.  
  82. Programs which chain to additional modules (maintaining the
  83. same process id), say through calls to exec, will not want
  84. each subsequent process to invoke another demon.  To keep a
  85. demon from being spawned, use the following type of code
  86. segment in each process for which you DO NOT WANT a clean-up
  87. demon.  This code sets the c-tree global variable no_demon to
  88. a non-zero value which inhibits the spawning of a demon.
  89.  
  90.         extern COUNT no_demon;
  91.  
  92.         no_demon = 1;
  93.  
  94.  
  95. --------
  96. Exclusive File Locks
  97. --------
  98.  
  99. Exclusive file locks are subject to the following limitation in the non-server
  100. mode of operation:  index files opened independently of data files may permit
  101. an exclusive lock even if other users have the file opened (without any
  102. active locks).  This is due to a weakness in Xenix. c-tree is able to overcome
  103. the weakness for data files.  The c-tree server is not subject to this
  104. limitation.
  105.  
  106. --------
  107. end
  108. --------
  109.