cfranz@wrdis01.af.mil (Claus Franzkowiak) (06/19/91)
I am looking for an Ada package that includes the following
functions/procedures:
1. Record locking
2. A function that takes a signal (character) from the keyboard without
the usage of the return key. For example: I use only the up arrow key
to move up the screen.
Also I would be interested if these functions could be written in Ada only
(no assembly).
I use an ATT 3B2 with the Verdix 5.7C Ada compiler under Unix.
Any hints will be appreciated.
1926 CCSG/SCDD
Claus Franzkowiak
Robins AFB
Warner Robins, GA 31098
912-926-7625
cfranz@wrdis01.af.miljduarte@liege.ICS.UCI.EDU (J o s e D u a r t e) (06/20/91)
> I am looking for an Ada package that includes the following > functions/procedures: > 1. Record locking > 2. A function that takes a signal (character) from the keyboard without > the usage of the return key. For example: I use only the up arrow key > to move up the screen. > > Also I would be interested if these functions could be written in Ada only > (no assembly). > > I use an ATT 3B2 with the Verdix 5.7C Ada compiler under Unix. For "1." above you can use the C library functions flock(),lockf(), or fcntl() by making "pragma" interfaces to 'em...Locks set by lockf() aren't compatible with locks set by flock(); however, they are compatible with locks set by fcntl(). > Take a look at the man page for lockf(3c), that will tell you how to > set and test the locks. The locks will go across NFS just fine. > > The biggest thing to remember is that these locks are advisory (lockf), > meaning that only processes that test for the lock on the file will be aware > of the lock (so multiple copies of programs you write that use the lock > won't collide), but other programs can still write to the file without > even looking at the lock. > If you want to turn the locks into mandatory locks that will prevent > other processes from writing to the file, you need to set the file's > mode bits to a special value. This should be explained in the man > page. I'm pretty sure that "2." was previously discussed, but I didn't save the solutions proposed by people. Jose' D.