axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] 20090228.01.tpd.patch (fix read-char-no-hang hang in )


From: daly
Subject: [Axiom-developer] 20090228.01.tpd.patch (fix read-char-no-hang hang in )browse)
Date: Sun, 1 Mar 2009 19:47:12 -0600

The )browse function was failing because read-char-no-hang was not
returning EOF when the stream from the browser finished. This was
recently changed in GCL and this patch backs out that change.

Tim
======================================================================
diff --git a/changelog b/changelog
index 6fdafc0..4f70b09 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+20090228 tpd src/axiom-website/patches.html 20090228.01.tpd.patch
+20090228 tpd lsp/Makefile add patch for read-char-no-hang
+20090228 tpd zips/gcl-2.6.8pre3.o.read.d.patch fix read-char-no-hang hang
+20090227 tpd src/axiom-website/patches.html 20090227.03.tpd.patch
+20090227 tpd books/bookvol4 Hyperdoc tutorial on making new pages
 20090227 tpd src/axiom-website/patches.html 20090227.02.tpd.patch
 20090227 tpd books/bookvol5 remove initializeInterpreterFrameRing duplicate
 20090227 tpd src/axiom-website/patches.html 20090227.01.lxx.patch
diff --git a/lsp/Makefile.pamphlet b/lsp/Makefile.pamphlet
index 0743ff6..6bdbf8d 100644
--- a/lsp/Makefile.pamphlet
+++ b/lsp/Makefile.pamphlet
@@ -217,6 +217,16 @@ but, since no initialization is needed, we simply create 
empty files.
          touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \
          touch ${OBJ}/${SYS}/lib/sockio-c.ini )
 @
+\subsubsection{read.d patch}
+The new read-char-no-hang change no longer returns EOF so we have
+no way to know when the browser is finished talking. This causes 
+AXSERV to hang waiting for more input which never comes. The browser
+hangs waiting for a response.
+<<gcl-2.6.8pre3.read.patch>>=
+       @(cd ${GCLVERSION}/o ; \
+         echo 100 applying read.d patch to o/read.d ; \
+         ${PATCH} <${SPD}/zips/${GCLVERSION}.o.read.d.patch )
+@
 \subsubsection{fortran patch}
 Communication over sockets (basically to the NAG fortran library)
 requires us to have XDR enabled.
@@ -1222,6 +1232,7 @@ gcldir:
 <<gcl-2.6.8pre3.libspad.patch>>
 <<gcl-2.6.8pre3.toploop.patch>>
 <<gcl-2.6.8pre3.collectfn.fix>>
+<<gcl-2.6.8pre3.read.patch>>
 <<gclConfigureMake>>
        @echo 13 finished system build on `date` | tee >gcldir
 
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index c029a9f..f2372ac 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -977,5 +977,7 @@ bookvol10.3 document UnivariateSkewPolynomial<br/>
 bookvol5 remove duplicate function<br/>
 <a href="patches/20090227.03.tpd.patch">20090227.03.tpd.patch</a>
 bookvol4 Hyperdoc tutorial on making new pages<br/>
+<a href="patches/20090228.01.tpd.patch">20090228.01.tpd.patch</a>
+gcl-2.6.8pre3.o.read.d.patch fix read-char-no-hang<br/>
  </body>
 </html>
diff --git a/zips/gcl-2.6.8pre3.o.read.d.patch 
b/zips/gcl-2.6.8pre3.o.read.d.patch
new file mode 100644
index 0000000..2c14c82
--- /dev/null
+++ b/zips/gcl-2.6.8pre3.o.read.d.patch
@@ -0,0 +1,11 @@
+--- read.tpd   2009-02-20 00:02:00.000000000 -0500
++++ read.d     2009-02-20 00:02:52.000000000 -0500
+@@ -2272,7 +2272,7 @@
+       else if (strm == Ct)
+               strm = symbol_value(sLAterminal_ioA);
+       check_type_stream(&strm);
+-      if (stream_at_end(strm)) {
++      if (!listen_stream(strm)) {
+               if (eof_errorp == Cnil)
+                       @(return eof_value)
+               else




reply via email to

[Prev in Thread] Current Thread [Next in Thread]