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

RE: [MiNT] MiNT and MetaDOS



> From: owner-mint@fishpool.com [mailto:owner-mint@fishpool.com]On Behalf
> Of Thomas Binder
> Sent: Wednesday, May 10, 2000 12:38 AM
> To: MiNT List
> Subject: Re: [MiNT] MiNT and MetaDOS
> ..
> The problem with SPIN! now seems to have been that it internally calls
> one of its own functions in certain situations, causing a deadlock for
> the process that's initiated the access. Frank and/or Julian, please
> correct me if that's wrong or inaccurate.

That was Frank's diagnosis, but I haven't been able to confirm this. I think
there's also a small probability that the deadlock detection code itself is
not working properly.

Anyway, as SPIN actually is reentrant (and always has been this), I found it
much easier to set the new flags and to inform the kernel about it.

> Reading the XFS documentation, I can't find any passage that states
> "calling of XFS functions within an XFS function is allowed". In fact,
> there's no comment on XFS reentrancy there, as it wasn't an issue when
> the text was written. So I can't consider blocking such events "breaking
> documented behaviour" at all. I wouldn't even have thought it could
> break an existing XFS had I implemented that semaphore locking.

I think the issue is not "XFS functions calling XSF functions", but "a XFS
calling fs related functions in the kernel". And I wouldn't agree that
documentation not explicitly allowing it makes it illegal. It certainly
worked before (for reentrant code), it works now, and the documentation of
the FS interface is not very completen anyway... :-)