From 10246d7adefb2cf14da8cc7ba7a5dcb8fcec7aa0 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 27 Nov 2011 09:18:52 -0700 Subject: [PATCH] fix `current-memory-use' Closes PR 9896 --- collects/tests/racket/will.rktl | 4 ++++ src/racket/src/thread.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/collects/tests/racket/will.rktl b/collects/tests/racket/will.rktl index c6ccaee984..7fdf51ed98 100644 --- a/collects/tests/racket/will.rktl +++ b/collects/tests/racket/will.rktl @@ -3,6 +3,10 @@ (Section 'wills) +(test #t exact-nonnegative-integer? (current-memory-use)) +(test #t exact-nonnegative-integer? (current-memory-use #f)) +(test #t exact-nonnegative-integer? (current-memory-use (current-custodian))) + (test #f will-executor? 5) (test #t will-executor? (make-will-executor)) diff --git a/src/racket/src/thread.c b/src/racket/src/thread.c index bf696cf486..f0c3334fed 100644 --- a/src/racket/src/thread.c +++ b/src/racket/src/thread.c @@ -674,13 +674,13 @@ static Scheme_Object *current_memory_use(int argc, Scheme_Object *args[]) intptr_t retval = 0; if (argc) { - if(SAME_TYPE(SCHEME_TYPE(args[0]), scheme_custodian_type)) { + if (SCHEME_FALSEP(args[0])) { arg = args[0]; - } else if(SCHEME_PROCP(args[0])) { + } else if (SAME_TYPE(SCHEME_TYPE(args[0]), scheme_custodian_type)) { arg = args[0]; } else { scheme_wrong_type("current-memory-use", - "custodian or memory-trace-function", + "custodian or #f", 0, argc, args); } }