From b1dbcb7306c6e75375c8af36091b9fe27e3ade4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sat, 4 Oct 1997 17:45:59 +0200
Subject: [PATCH] Now doesn't keep references to old data.

Rev: lib/modules/Thread.pmod:1.9
---
 lib/modules/Thread.pmod | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod
index a337ad18ce..bd22fb0c60 100644
--- a/lib/modules/Thread.pmod
+++ b/lib/modules/Thread.pmod
@@ -16,7 +16,8 @@ class Fifo {
       mixed tmp;
       object key=lock::lock();
       while(!num) r_cond::wait(key);
-      tmp=buffer[ptr++];
+      tmp=buffer[ptr];
+      buffer[ptr++] = 0;	// Throw away any references.
       ptr%=sizeof(buffer);
       num--;
       w_cond::signal();
@@ -51,7 +52,8 @@ class Queue {
       mixed tmp;
       object key=lock::lock();
       while(!size()) r_cond::wait(key);
-      tmp=buffer[r_ptr++];
+      tmp=buffer[r_ptr];
+      buffer[r_ptr++] = 0;	// Throw away any references.
       key=0;
       return tmp;
     }
-- 
GitLab