From 37eae7b70a7c6c219a7438a58931172c5a944f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Thu, 22 Oct 2015 11:53:21 +0100 Subject: [PATCH] reset queue on close, so that it won;t be mistaken for an existing queue. --- C/globals.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/C/globals.c b/C/globals.c index 38a5efa0a..e6b6e782e 100644 --- a/C/globals.c +++ b/C/globals.c @@ -1638,8 +1638,8 @@ static Int p_nb_queue_close(USES_REGS1) { return Yap_unify(ARG3, ARG2); } out = Yap_unify(ARG3, qp[QUEUE_TAIL]) && Yap_unify(ARG2, qp[QUEUE_HEAD]); - qp[-1] = (CELL)Yap_MkFunctor(AtomHeap, 1); - qp[QUEUE_ARENA] = qp[QUEUE_HEAD] = qp[QUEUE_TAIL] = MkIntegerTerm(0); + qp[QUEUE_HEAD] = qp[QUEUE_TAIL] = RESET_VARIABLE(qp + QUEUE_TAIL); + qp[QUEUE_SIZE] = MkIntTerm(0); return out; } Yap_Error(INSTANTIATION_ERROR, t, "queue/3");