Actually, a good way to proceed would be to (a) enlarge the space to accommodate present users and (b) encourage everyone to use lis_sem_alloc() to prepare for a future time when the structure becomes opaque.

It is not hard to imagine code in someone's driver that looks something like:

struct instance
{
#if defined(SOLARIS)
    mutex_t         lock ;
#elif defined(LIS)
    lis_semaphore_t lock ;
#endif
}

There could be some pain involved in fixing code such as this.  Also, LiS spin locks have the same problem and are likely to be found embedded in structures.

Solaris has held the mutex structure constant through three major releases.  Can't say the same for the kernel semaphore structure.

-- Dave

At 11:49 AM 2/18/2004, John A. Boyd Jr. wrote:

Let me put that another way - interface stability isn't just something
one can wish for and expect - one has to work at it.  One has to know
what makes an interface stable or not.  I know you know that, Dave.

A C programmer interested in interface stability should be aware, as
Ragnar pointed out, that constant array size declarations are subject
to change.  It's just stating the obvious.  What is not obvious is how
to avoid using such declarations in a part of an interface that should
not change.

You suggested that this particular declaration bothered you; now you
know how to avoid it.  And even if you don't change it now, those
who've read my comments should now be able to inspect their drivers
and modules to see if their use of this declaration might have been
problematic without their knowing it.  I think you should afford
LiS uses plenty of time to deal with this situation, frankly, but I
do also think that at some point, a change will be in order.

-John

Dave Grothe wrote:
At 10:58 AM 2/18/2004, John A. Boyd Jr. wrote:


I.e., if drivers break, it's because they're doing something they
should never, ever do anyway.

But which they may have been doing for years.  One of my complaints about the kernel guys is that they make no attempt to hold the driver-kernel interface constant even through a "stable" version of the kernel.  I'm trying not to follow suit here.
-- Dave

------------------------------------------------------------------------

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.591 / Virus Database: 374 - Release Date: 2/17/2004

_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams




---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.591 / Virus Database: 374 - Release Date: 2/17/2004
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.591 / Virus Database: 374 - Release Date: 2/17/2004

Reply via email to