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 UNIX and
- creating the appropriate libraries.
-
- ---------
- Make Files
- ---------
-
- There are three make scripts provided for UNIX systems:
-
- makesrv - makes a UNIX background server
- makeapp - makes applications to run with the server
- makesgl - makes non-server (single user) applications and utility
- programs (such as the rebuild)
-
- For example (assuming that the c-tree code is in the directory
- /usr/acct/ctree),
-
- sh makeapp
-
- will create objects in /usr/acct/ctree/app, place the c-tree library in
- /usr/lib and the executables in /usr/bin.
-
- Executing
-
- sh makesrv
-
- will create objects in /usr/acct/ctree/srv, place a server library
- in /usr/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.
-
- IF YOUR UNIX ENVIRONMENT REQUIRES MEMORY MODEL SPECIFICATIONS, then examine how
- the Xenix shell scripts incorporate a memory model parameter.
-
-
- ---------
- 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.
-
-
- Your Unix system must have queue support enabled in order for the server
- to operate. Even though queues are a standard feature, some OEM's
- (such as NCR) do not always create the system kernel with the queues.
- If queues are not supported, then you will receive system errors when
- attempting to start the server. You must reconfigure your system
- kernel to enable queue support. 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 Unix. c-tree is able to overcome
- the weakness for data files. The c-tree server is not subject to this
- limitation.
-
- --------
- end
- --------
-