From fbbc094a3f8cd62ebdd54a5f2f4984d841664974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Thu, 13 May 1999 00:26:38 -0700 Subject: [PATCH] explicit reference freeing.. Rev: lib/modules/Stdio.pmod/module.pmod:1.51 --- lib/modules/Stdio.pmod/module.pmod | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/modules/Stdio.pmod/module.pmod b/lib/modules/Stdio.pmod/module.pmod index 914679f388..3010ad646b 100644 --- a/lib/modules/Stdio.pmod/module.pmod +++ b/lib/modules/Stdio.pmod/module.pmod @@ -1,4 +1,4 @@ -// $Id: module.pmod,v 1.50 1999/05/01 21:18:10 grubba Exp $ +// $Id: module.pmod,v 1.51 1999/05/13 07:26:38 hubbe Exp $ import String; @@ -228,6 +228,13 @@ class File { if(::close(how||"rw")) { +#define FREE_CB(X) if(___##X && query_##X == __stdio_##X) ::set_##X(0) + FREE_CB(read_callback); + FREE_CB(write_callback); +#if constant(files.__HAVE_OOB__) + FREE_CB(read_oob_callback); + FREE_CB(write_oob_callback); +#endif _fd=0; #ifdef __STDIO_DEBUG __closed_backtrace=master()->describe_backtrace(backtrace()); @@ -355,7 +362,6 @@ class File { if(_fd) { -#define FREE_CB(X) if(___##X && query_##X == __stdio_##X) ::set_##X(0) FREE_CB(read_callback); FREE_CB(write_callback); #if constant(files.__HAVE_OOB__) -- GitLab