lotus

previous page: 4.17. Any tips on building Cnews?
  
page up: Unix-PC/3b1 Computers FAQ
  
next page: 5.1. What third-party hardware is available?

4.18. What are lipc and nipc, and how can I use nipc instead of lipc?




Description

This article is from the 3b1 computers FAQ, by John B. Bunch with numerous contributions by others.

4.18. What are lipc and nipc, and how can I use nipc instead of lipc?

/etc/lddrv/lipc is the loadable device driver that implements System V inter-process communications on the UNIX PC (semget(), etc.). /etc/lddrv/nipc is a newer implementation of this driver which fixes an IPC bug, but was never fully tested. The default driver loaded by /etc/lddrv/drivers is lipc, and in fact, this is the driver which the program ipcs looks for when it reports on IPC usage. No bugs with nipc have been uncovered since it was made available (87?), and many people would rather run the "better" driver than stick with the old lipc.

There are two approaches for replacing lipc with nipc. The most obvious way is to edit /etc/lddrv/drivers to replace lipc with nipc for when the system is next booted, then replacing the in-core lipc with nipc with the following sequence:

	# cd /etc/lddrv
	# ./lddrv -dv lipc
	# ./lddrv -av nipc

Unfortunately, ipcs will not find the lipc driver, and so won't give any IPC status. This can be overcome by wielding a binary editor in the general direction of /usr/bin/ipcs, replacing the hard-coded instances of "lipc" with "nipc".

Another method is to remove lipc from core (./lddrv -dv lipc), rename its files to something benign (lipc -> lipc.old, lipc.o -> lipc.o.old, ifile.lipc -> ifile.lipc.old), rename the nipc files to be lipc (nipc -> lipc, nipc.o -> lipc.o, ifile.nipc -> ifile.lipc), and finally reload the new lipc (./lddrv -av lipc).

 

Continue to:













TOP
previous page: 4.17. Any tips on building Cnews?
  
page up: Unix-PC/3b1 Computers FAQ
  
next page: 5.1. What third-party hardware is available?