I'm having a problem serializing continuations where it can't serialize
some of the objects in the continuation, but that object shouldn't be in
the continuation (I think). The problem does not occur with 1.8.8. Here
is a test case that reproduces the problem (if not the same problem, a
similar one):
;; I used a ServletHttpResponse that I saved from a request
(define a ...some object that can't be serialized...)
(define test-param (make-parameter #f))
(define (doit p)
(test-param p)
(set! p #f)
(call-with-serial-output-file "test.ser" (lambda (port) (call/cc
(lambda (k) (serialize k port))))))
;; This succeeds as it should
(doit a)
;; This gives an error that it can't serialize the ServletHttpResponse,
again as it should
(call-with-serial-output-file "test.ser" (lambda (port) (serialize a
port)))
;; Now this fails with the same error and always fails from now on
(doit a)
If I repeat the same steps in 1.8.8 things work fine. The final (doit a)
succeeds.
Any thoughts on what might be going wrong, or if I'm misunderstanding
how things work, where I'm going wrong?
Chris.
--
Chris Double
chris.double@xxxxxxxxxxxx
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
|