summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-04-20 15:44:56 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-04-20 15:44:56 +0900
commit62dae09bf6e2ac965ec7384100f56f40737cbd6f (patch)
treee2405226c0ba6aed5d11781ec97e4524548e5f96 /include
parentedd9fc6e75e26e154ab6af5c504f3bd38ecbfdd3 (diff)
downloadmruby-62dae09bf6e2ac965ec7384100f56f40737cbd6f.tar.gz
mruby-62dae09bf6e2ac965ec7384100f56f40737cbd6f.zip
Allow `mrb_objspace_each_objects()` to break iteration; ref #3359
Diffstat (limited to 'include')
-rw-r--r--include/mruby/gc.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/mruby/gc.h b/include/mruby/gc.h
index 81950f169..dd161efa1 100644
--- a/include/mruby/gc.h
+++ b/include/mruby/gc.h
@@ -17,7 +17,9 @@ MRB_BEGIN_DECL
struct mrb_state;
-typedef void (mrb_each_object_callback)(struct mrb_state *mrb, struct RBasic *obj, void *data);
+#define MRB_EACH_OBJ_OK 0
+#define MRB_EACH_OBJ_BREAK 1
+typedef int (mrb_each_object_callback)(struct mrb_state *mrb, struct RBasic *obj, void *data);
void mrb_objspace_each_objects(struct mrb_state *mrb, mrb_each_object_callback *callback, void *data);
MRB_API void mrb_free_context(struct mrb_state *mrb, struct mrb_context *c);