continuing to try to isolate the crash. Runnign test-browser-evaluate twice consecutively seems to do it.
This commit is contained in:
parent
bd2487a051
commit
2c53a1d102
|
@ -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))))
|
Loading…
Reference in New Issue
Block a user