summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-03-26 18:55:29 +0000
committerDamien George <damien.p.george@gmail.com>2014-03-26 18:55:29 +0000
commit548e76cfd6d1f8c1419bc827aae0bd87dc7867b5 (patch)
tree856084a6994ed93f866bd4cb961924c922606eb6
parent752ba554ccb25a798e5279858ea8aac4af77cc1e (diff)
downloadmicropython-548e76cfd6d1f8c1419bc827aae0bd87dc7867b5.tar.gz
micropython-548e76cfd6d1f8c1419bc827aae0bd87dc7867b5.zip
py: Use _is_subclass_fast instead of _exception_match.
-rw-r--r--py/objgenerator.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/py/objgenerator.c b/py/objgenerator.c
index 3cfa02a0a0..eed5a55111 100644
--- a/py/objgenerator.c
+++ b/py/objgenerator.c
@@ -174,8 +174,9 @@ STATIC mp_obj_t gen_instance_close(mp_obj_t self_in) {
}
// Swallow StopIteration & GeneratorExit (== successful close), and re-raise any other
if (ret_kind == MP_VM_RETURN_EXCEPTION) {
- if (mp_obj_exception_match(ret, &mp_type_GeneratorExit) ||
- mp_obj_exception_match(ret, &mp_type_StopIteration)) {
+ // ret should always be an instance of an exception class
+ if (mp_obj_is_subclass_fast(mp_obj_get_type(ret), &mp_type_GeneratorExit) ||
+ mp_obj_is_subclass_fast(mp_obj_get_type(ret), &mp_type_StopIteration)) {
return mp_const_none;
}
nlr_jump(ret);