Subject: Re: uugetty for NetBSD
To: None <cjs@portal.ca>
From: Simon J. Gerraty <sjg@zen.quick.com.au>
List: current-users
Date: 11/10/1996 16:32:31
Curt Sampson <cjs@portal.ca> writes:
>On 9 Nov 1996, Charles M. Hannum wrote:
>> I'd like to see this moved into a library (say, libutil), which can be
>> used by all the programs that need it.
>> e.g. One could imagine an
>> interface like:
>>
>> opentty("/dev/ttyNN", {DIALIN,DAILOUT})
>> -> 0 for success
>> -1 for failure, leaving errno set
>I'd rather see a separate lock function `int uucplock(char *ttydev)'
>for a few reasons:
There is no reason you can't have a uucplock() which is called by
opentty() if desired. But yes, I think a separate locking call is
best.
You can take it a step further, and have uucplock() call a more
generic locking function which lets you specify the lock dir, lock
name and content format. Why? Because the guts of such a routine is
very generic and widely useful for portable interlocking b/w
processes.
For instance I have such a locking routine in each of C, perl and sh,
so that programs in each of those languages can cooperate wrt locking.
The uses are many and varied.
>One thing I'd like to see uucplock() return is the PID of the
>process that has the lock, if the tty is already locked. But this
>leaves open the question of what one returns when successful at
>locking, and what one returns when a failure of some other kind
>has occurred. Perhaps the current PID and zero, respectively?
I'd prefer it to return a boolean success/failure and pass a pointer
to pid_t if you want to know who holds the lock.
--sjg