141,6 → 141,16 |
async_msg_2(fb_info.phone, FB_CURSOR_GOTO, row, col); |
} |
|
static void screen_yield(void) |
{ |
ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_YIELD); |
} |
|
static void screen_reclaim(void) |
{ |
ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_RECLAIM); |
} |
|
static void set_style(int style) |
{ |
async_msg_1(fb_info.phone, FB_SET_STYLE, style); |
330,7 → 340,9 |
async_serialize_start(); |
curs_hide_sync(); |
gcons_in_kernel(); |
screen_yield(); |
async_serialize_end(); |
|
|
if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) { |
prev_console = active_console; |
342,8 → 354,10 |
if (newcons != KERNEL_CONSOLE) { |
async_serialize_start(); |
|
if (active_console == KERNEL_CONSOLE) |
if (active_console == KERNEL_CONSOLE) { |
screen_reclaim(); |
gcons_redraw_console(); |
} |
|
active_console = newcons; |
gcons_change_console(newcons); |
512,6 → 526,8 |
gcons_notify_connect(consnum); |
conn->client_phone = IPC_GET_ARG5(*icall); |
screenbuffer_clear(&conn->screenbuffer); |
if (consnum == active_console) |
clrscr(); |
|
/* Accept the connection */ |
ipc_answer_0(iid, EOK); |