mirror of https://github.com/svaarala/duktape.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
779 B
31 lines
779 B
/*===
|
|
duk_is_object(1) = 1
|
|
duk_is_thread(1) = 1
|
|
top=2
|
|
concat: foobarquux
|
|
done
|
|
===*/
|
|
|
|
void test(duk_context *ctx) {
|
|
int thr_idx;
|
|
duk_context *new_ctx;
|
|
|
|
duk_push_int(ctx, 123); /* dummy */
|
|
|
|
thr_idx = duk_push_thread(ctx);
|
|
printf("duk_is_object(%d) = %d\n", thr_idx, duk_is_object(ctx, thr_idx));
|
|
printf("duk_is_thread(%d) = %d\n", thr_idx, duk_is_thread(ctx, thr_idx));
|
|
printf("top=%d\n", duk_get_top(ctx));
|
|
|
|
/* use the thread (context) value stack */
|
|
new_ctx = duk_get_context(ctx, thr_idx);
|
|
duk_push_string(new_ctx, "foo");
|
|
duk_push_string(new_ctx, "bar");
|
|
duk_push_string(new_ctx, "quux");
|
|
duk_concat(new_ctx, 3);
|
|
printf("concat: %s\n", duk_get_string(new_ctx, -1));
|
|
|
|
/* make new thread unreachable, so it gets GC'd */
|
|
duk_set_top(ctx, 0);
|
|
printf("done\n");
|
|
}
|
|
|