[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: STiNG, CAB, and Multitasking (strikes back) (fwd)



On Wed, 11 Mar 1998, Peter Rottengatter wrote:

> > Fair enough. But since it works fine when started after MiNT I can't see
> > that this is a problem.
> 
> Oh, I'm not saying that *I* have a problem. I can tell everybody to run
> STinG after MiNT. But I consider it bad that MiNT does unlink handlers
> in the first place, as situations like I described above may emerge. 

A question to the most experienced "MiNTers" on this list: Does anybody
know *why* MiNT behaves like this in the first place? Eric Smith did a
very good job when he first developed the MiNT kernel, and this behaviour
(unlinking handlers) would be considered very rude for any other TSR even
back in '90. So I guess mr. Smith had a very good reason for doing this.

> Since I consider it bad, I called this a bug on Usenet, someone caught on
> this and asked me to explain here to the MiNT list. This is what I'm doing
> here, unfortunately for some people here it was only reason to flame me.

I've noticed that to, it's actually very rare on this list... You should
be honered ;-) Seriously, flaming doesn't get us anywhere, let's stick to
the subject here.

> > Well, Atari released MiNT too, so what's your point? Is MiNT or TOS
> > "correct" here?
> 
> The fact that some company releases some software does not mean that this
> software is meant to set a standard on any particular detail. You cannot
> tell that Atari was entirely happy with this point when they released
> MiNT, you probably cannot even tell if they knew the problem. But that
> does not render the point obsolete either, since Atari had earlier
> specified rules for hanging into system vectors, hence I can only deduce
> here that Atari did not intent to make this illegal. In fact I have always

Atari has also documented features of the OS which they later have
discouraged the use of. As the maintainers of the MiNT kernel I think it's
up to us to decide if this should be done in this case as well. 

> > Yes, and MiNT doesn't object either as long as you intercept them after
> > MiNT is initialized.
> 
> But, why ? What, if I link something into the trap #1 vector, but unlink
> everything that's there (just like MiNT) ? Won't you complain then too
> (probably not because STinG is not important enough for you, but consider
> the case it were), because all the MiNT code is unlinked by that ?

I agree, unlinking vectors is generally very rude, but I think a kernel
should have some privileges here, esp. if it need to (look below).

> > And what about the possible problems with having MiNT's vectors at the end
> > of the XBRA-chain? It doesn't work today, atleast not on my machine.
> 
> Have you tried ? I don't think so. If, then tell me which program gives
> problems ? It might be that it creates problems with some vectors, I never

If you run MiNT as the first program in the autofolder (or to be more
precise, before any other program that intercepts exception-vectors), its
handlers will always be the last in the chain. A lot of other software
(like Nova VDI, NVDI, MetaDOS and HS-Modem which are the trouble-makers I
happen to have in my auto-folder right now) will then ceace working (yes,
I've tried this). If I have understood the proposed modification
correctly, this will render most programs that today have to run before
MiNT useless.

NB! I base this on Konrads statement (which you haven't commented, at
least not yet, so I consider it accurate), that your proposal is to let
MiNT's handlers always be the last in the chain. 

> denied that, and never asked to do it there too. But I'm 100 % sure that
> no problems will arise if you do it for the priviledge violation vector.

Very likely.

> I haven't asked to apply the method to every vector. From the beginning I
> only asked to do it for those for which it is safe.

(Oops, that destroyed my previous argument...) I see your point, but I'm
not sure how smart this is in the long run. My opinion is that all
handlers should be treated equal in order not to confuse programmers. IMHO
if we change the behavior of one vector, we should change them all.
Consistency matters, atleast in my narrow and technically minded world :-)
MiNT is already full of kludges and inconsistencies, we should work on
getting rid of them instead of adding more.

My opinion is that this is something that's not really worth spending time
on (yes, I know that you offered to write the code, but your time is
valuable too.), as the current situation (tuning the running-order in
AUTO) is unavoidable anyway.

> PS.: Jo, I appreciate a lot that I can sensibly discuss this with you at

Thanks :-) But I'm a good flamer as well...

A bit off-topic: Perhaps a good "auto-folder" FAQ should be written?


/*
** Jo Even Skarstein   http://www.stud.ntnu.no/~josk/
**
**   beer - maria mckee - atari falcon - babylon 5
*/