mirror of
https://github.com/zhigang1992/RubyMotion.git
synced 2026-04-17 23:15:02 +08:00
always set the libedit prompt in main thread, to avoid memory race condition crasher
This commit is contained in:
26
bin/sim.m
26
bin/sim.m
@@ -214,18 +214,20 @@ rl_set_prompt(const char *prompt)
|
||||
static void
|
||||
refresh_repl_prompt(NSString *top_level, bool clear)
|
||||
{
|
||||
static int previous_prompt_length = 0;
|
||||
rl_set_prompt([current_repl_prompt(top_level) UTF8String]);
|
||||
if (clear) {
|
||||
putchar('\r');
|
||||
for (int i = 0; i < previous_prompt_length; i++) {
|
||||
putchar(' ');
|
||||
}
|
||||
putchar('\r');
|
||||
//printf("\n\033[F\033[J"); // Clear.
|
||||
rl_forced_update_display();
|
||||
}
|
||||
previous_prompt_length = strlen(rl_prompt);
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
static int previous_prompt_length = 0;
|
||||
rl_set_prompt([current_repl_prompt(top_level) UTF8String]);
|
||||
if (clear) {
|
||||
putchar('\r');
|
||||
for (int i = 0; i < previous_prompt_length; i++) {
|
||||
putchar(' ');
|
||||
}
|
||||
putchar('\r');
|
||||
//printf("\n\033[F\033[J"); // Clear.
|
||||
rl_forced_update_display();
|
||||
}
|
||||
previous_prompt_length = strlen(rl_prompt);
|
||||
});
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user