more threadin fixes

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2008-08-07 20:51:23 +00:00
parent 6d23a23a81
commit 2581c3a3bf
15 changed files with 221 additions and 153 deletions

View File

@@ -10,8 +10,11 @@
* File: c_interface.c *
* comments: c_interface primitives definition *
* *
* Last rev: $Date: 2008-08-01 21:44:24 $,$Author: vsc $ *
* Last rev: $Date: 2008-08-07 20:51:21 $,$Author: vsc $ *
* $Log: not supported by cvs2svn $
* Revision 1.122 2008/08/01 21:44:24 vsc
* swi compatibility support
*
* Revision 1.121 2008/07/24 16:02:00 vsc
* improve C-interface and SWI comptaibility a bit.
*
@@ -2295,36 +2298,10 @@ YAP_CreateModule(Atom at)
X_API Term
YAP_StripModule(Term t, Term *modp)
{
Term tmod;
tmod = CurrentModule;
restart:
if (IsVarTerm(t)) {
return 0L;
} else if (IsAtomTerm(t)) {
*modp = tmod;
return t;
} else if (IsApplTerm(t)) {
Functor fun = FunctorOfTerm(t);
if (fun == FunctorModule) {
tmod = ArgOfTerm(1, t);
if (IsVarTerm(tmod) ) {
return 0L;
}
if (!IsAtomTerm(tmod) ) {
return 0L;
}
t = ArgOfTerm(2, t);
goto restart;
}
*modp = tmod;
return t;
}
return 0L;
return Yap_StripModule(t, modp);
}
X_API int
YAP_ThreadSelf(void)
{