From 277d8bc19ef7f11ea804afa7dad13ec06cb446b5 Mon Sep 17 00:00:00 2001
From: Martin Stjernholm <mast@lysator.liu.se>
Date: Tue, 29 Jun 1999 18:02:29 +0200
Subject: [PATCH] Disable callbacks temporarily in File.set_blocking().

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

diff --git a/lib/modules/Stdio.pmod/module.pmod b/lib/modules/Stdio.pmod/module.pmod
index 8ab395559f..de55ef7268 100644
--- a/lib/modules/Stdio.pmod/module.pmod
+++ b/lib/modules/Stdio.pmod/module.pmod
@@ -1,4 +1,4 @@
-// $Id: module.pmod,v 1.55 1999/06/09 21:13:05 mirar Exp $
+// $Id: module.pmod,v 1.56 1999/06/29 16:02:29 mast Exp $
 
 import String;
 
@@ -23,7 +23,7 @@ class File
     if(!_fd)									\
     {										\
       throw(({									\
-	"Stdio.File(): line "+__LINE__+" on closed file.\n"+				\
+	"Stdio.File(): line "+__LINE__+" on closed file.\n"+			\
 	  (__closed_backtrace ? 						\
 	   sprintf("File was closed from:\n    %-=200s\n",__closed_backtrace) :	\
 	   "This file has never been open.\n" ),				\
@@ -348,6 +348,7 @@ class File
   void set_blocking()
   {
     CHECK_OPEN();
+    ::_disable_callbacks(); // Thread safing
     SET(read_callback,0);
     SET(write_callback,0);
     ___close_callback=0;
@@ -356,6 +357,7 @@ class File
     SET(write_oob_callback,0);
 #endif
     ::set_blocking();
+    ::_enable_callbacks();
   }
 
   void destroy()
-- 
GitLab