Don't set memory limits or test for them when there is no memory
accounting. svn: r12839
This commit is contained in:
parent
813eb20e35
commit
39a69b30fd
|
@ -670,7 +670,7 @@
|
||||||
out)]
|
out)]
|
||||||
[else (error 'make-evaluator "bad sandox-~a spec: ~e" what out)]))
|
[else (error 'make-evaluator "bad sandox-~a spec: ~e" what out)]))
|
||||||
;; set global memory limit
|
;; set global memory limit
|
||||||
(when (sandbox-memory-limit)
|
(when (and memory-accounting? (sandbox-memory-limit))
|
||||||
(custodian-limit-memory
|
(custodian-limit-memory
|
||||||
memory-cust (* (sandbox-memory-limit) 1024 1024) memory-cust))
|
memory-cust (* (sandbox-memory-limit) 1024 1024) memory-cust))
|
||||||
(parameterize* ; the order in these matters
|
(parameterize* ; the order in these matters
|
||||||
|
|
|
@ -146,12 +146,13 @@
|
||||||
(set! ev (parameterize ([sandbox-eval-limits '(0.25 5)])
|
(set! ev (parameterize ([sandbox-eval-limits '(0.25 5)])
|
||||||
(make-evaluator 'scheme/base '(sleep 2))))
|
(make-evaluator 'scheme/base '(sleep 2))))
|
||||||
=err> "out of time"
|
=err> "out of time"
|
||||||
(set! ev (parameterize ([sandbox-eval-limits '(0.25 2)])
|
(when (custodian-memory-accounting-available?)
|
||||||
(make-evaluator 'scheme/base
|
(set! ev (parameterize ([sandbox-eval-limits '(0.25 2)])
|
||||||
'(define a (for/list ([i (in-range 10)])
|
(make-evaluator 'scheme/base
|
||||||
(collect-garbage)
|
'(define a (for/list ([i (in-range 10)])
|
||||||
(make-string 1000))))))
|
(collect-garbage)
|
||||||
=err> "out of memory"
|
(make-string 1000))))))
|
||||||
|
(t --top-- =err> "out of memory"))
|
||||||
|
|
||||||
;; i/o
|
;; i/o
|
||||||
--top--
|
--top--
|
||||||
|
@ -456,17 +457,19 @@
|
||||||
|
|
||||||
;; when an expression is out of memory, the sandbox should stay alive
|
;; when an expression is out of memory, the sandbox should stay alive
|
||||||
--top--
|
--top--
|
||||||
(set! ev (parameterize ([sandbox-eval-limits '(2 5)]
|
(when (custodian-memory-accounting-available?)
|
||||||
[sandbox-memory-limit 100])
|
(t --top--
|
||||||
(make-evaluator 'scheme/base)))
|
(set! ev (parameterize ([sandbox-eval-limits '(2 5)]
|
||||||
--eval--
|
[sandbox-memory-limit 100])
|
||||||
(define a '())
|
(make-evaluator 'scheme/base)))
|
||||||
(define b 1)
|
--eval--
|
||||||
(for ([i (in-range 20)])
|
(define a '())
|
||||||
(set! a (cons (make-bytes 500000) a))
|
(define b 1)
|
||||||
(collect-garbage))
|
(for ([i (in-range 20)])
|
||||||
=err> "out of memory"
|
(set! a (cons (make-bytes 500000) a))
|
||||||
b => 1
|
(collect-garbage))
|
||||||
|
=err> "out of memory"
|
||||||
|
b => 1))
|
||||||
|
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user