Interfaces running as services on the node where bufserv is installed are dependent on bufserv starting first. If bufserv and the interfaces are started "automatically" the service installation must include this dependency. Just as bufserv is configured to be dependent on tcpip, interfaces are installed to be dependent on bufserv. Dependencies are defined during installation of each service. To modify the dependency list of a service that is already installed, it should be uninstalled and then reinstalled with the proper dependency list.
OSI supplied interfaces and bufserv support the same set of command line options for controlling the service. This set of options is displayed by typing bufserv –help. You can install interfaces from the command line or in some cases there may be a preexisting installation script that will need to be modified. The procedure is to remove the interface as a service and reinstall it with the dependency on bufserv. To set an interface’s dependencies, open a command window and change the current working directory to the directory where the interface executable resides. Then remove the interface:
where intfc is the interface executable without the .exe extension. Install the interface specifying the desired dependency list, including bufserv, and optionally the automatic startup flag.
intfc –install –depend bufserv [-auto]
To include multiple dependencies, enclose the dependency list in quotation marks with the individual dependencies separated by spaces. For example:
… -depend "bufserv tcpip"
Failure to start the buffering process before running PI-API programs, when buffering is configured to be on, manifests itself differently under UNIX and Windows NT.
On UNIX, PI-API programs will hang trying to make a connection. They are waiting for the resources to become available. To rectify this situation, the program(s) should be stopped and the buffering process started.
On Windows NT, PI-API programs will run but attempts to subsequently start the buffering process will fail. In this case, the first program trying to obtain the resource, creates the resource itself. When the buffering process is started, it tries to create the resource and fails because the resource already exists and exits. Again the program(s) must be stopped and the buffering process started. In this case the bufutil program should be run with a -u parameter to unlock and remove the created resources before attempting to start the buffering process, bufserv.