home *** CD-ROM | disk | FTP | other *** search
- c-tree(R) V4.3 Release C
- February 7, 1989 17:30
-
- ---------
- General
- ---------
-
- See the INSTALLATION GUIDE for details on porting c-tree to Xenix and
- creating the appropriate libraries.
-
- ---------
- Make Files
- ---------
-
- There are three make scripts provided for Xenix systems:
-
- makesrv - makes a Xenix background server
- makeapp - makes applications to run with the server
- makesgl - makes non-server (single user) applications
-
- For example (assuming that the c-tree code is in the directory
- /usr/ctree),
-
- sh makeapp M where M = {s m l}
-
- will create objects in /usr/acct/Mapp (where M = s, m or l), and
- place the c-tree library in /lib and the executables in /usr/bin.
-
-
- Executing
-
- sh makesrv M where M = {s m l}
-
- will create objects in /usr/ctree/Msrv, place a server library
- in /lib and place the server executable in the file /usr/bin/ctsrvr.
-
- The makesgl script is used for a single user library, and to create the
- utilities such as rebuild. It is invoked by
-
- sh makesgl M where M = {s m l}
-
-
- ---------
- Xenix 386
- ---------
-
- There are three additional make files used for the SCO Xenix 386
- environment. They are invoked by the shell scripts m386app, m386srv and
- m386sgl. No memory model is specified since the 32 bit 386 environment
- only has one model (32 bit addresses).
-
-
- ---------
- Server
- ---------
-
- Once you have created a c-tree server (which will be placed in
- /usr/bin/ctsrvr), you initiate the server with a command line
- of the form
-
- ctsrvr >ctsrvr.out &
-
- which causes the server output to be redirected, and places the
- server in the background. The server as distributed ignores
- the hang-up signal (SIGHUP). Therefore, logging off of the system
- does not terminate the server.
-
- The c-tree server uses two queues.
-
-
- --------
- User Clean-Up Demon
- --------
-
- Each application which calls on the server automatically
- invokes (through a fork coded in CTAMSG.C) a program
- (usr/bin/ctdemn) which sleeps until the application is terminated,
- killed or otherwise aborted. When this demon wakes up,
- it sends a message to the server which ensures
- that the user is properly logged-off the server.
-
- Programs which chain to additional modules (maintaining the
- same process id), say through calls to exec, will not want
- each subsequent process to invoke another demon. To keep a
- demon from being spawned, use the following type of code
- segment in each process for which you DO NOT WANT a clean-up
- demon. This code sets the c-tree global variable no_demon to
- a non-zero value which inhibits the spawning of a demon.
-
- extern COUNT no_demon;
-
- no_demon = 1;
-
-
- --------
- Exclusive File Locks
- --------
-
- Exclusive file locks are subject to the following limitation in the non-server
- mode of operation: index files opened independently of data files may permit
- an exclusive lock even if other users have the file opened (without any
- active locks). This is due to a weakness in Xenix. c-tree is able to overcome
- the weakness for data files. The c-tree server is not subject to this
- limitation.
-
- --------
- end
- --------
-