continuing to try to isolate the crash. Runnign test-browser-evaluate twice consecutively seems to do it.

This commit is contained in:
Danny Yoo 2011-06-06 14:13:57 -04:00
parent bd2487a051
commit 2c53a1d102

View File

@ -14,6 +14,7 @@
(provide make-evaluate (provide make-evaluate
simple-js-evaluate
(struct-out error-happened) (struct-out error-happened)
(struct-out evaluated)) (struct-out evaluated))
@ -75,13 +76,14 @@
(let/ec return (let/ec return
(let* ([alarm (alarm-evt (+ (current-inexact-milliseconds) *alarm-timeout*))] (let* ([alarm (alarm-evt (+ (current-inexact-milliseconds) *alarm-timeout*))]
[javascript-compiler+program (sync ch alarm)] [javascript-compiler+program (sync ch alarm)]
[javascript-compiler (first javascript-compiler+program)]
[program (second javascript-compiler+program)]
[op (open-output-bytes)]) [op (open-output-bytes)])
(cond (cond
[(eq? program alarm) [(eq? javascript-compiler+program alarm)
(try-again-response)] (try-again-response)]
[else [else
(let ([javascript-compiler (first javascript-compiler+program)]
[program (second javascript-compiler+program)])
(with-handlers ([exn:fail? (lambda (exn) (with-handlers ([exn:fail? (lambda (exn)
(let ([sentinel (let ([sentinel
(format (format
@ -106,7 +108,7 @@ EOF
(current-seconds) (current-seconds)
#"text/plain; charset=utf-8" #"text/plain; charset=utf-8"
empty empty
(list #"" (get-output-bytes op)))])))) (list #"" (get-output-bytes op))))]))))
@ -206,9 +208,9 @@ var comet = function() {
sendRequest("/eval", sendRequest("/eval",
function(req) { function(req) {
// debug: // debug:
//if (window.console && typeof(console.log) === 'function') { if (window.console && typeof(console.log) === 'function') {
// console.log(req.responseText); console.log(req.responseText);
//} }
try { try {
var invoke = eval(req.responseText)(); var invoke = eval(req.responseText)();
} catch (e) { } catch (e) {
@ -413,4 +415,13 @@ EOF
[else [else
result]))) result])))
evaluate) evaluate)
(define simple-js-evaluate
(make-evaluate (lambda (p op)
(display "(function() {" op)
(display " return (function(succ, fail, params) {" op)
(display p op)
(display "\n succ(); });" op)
(display " })" op))))