Skip to content
Snippets Groups Projects
Commit eb60a1a2 authored by Recolic Keghart's avatar Recolic Keghart
Browse files

Temporarily disable async

parent ce18d37b
No related branches found
No related tags found
No related merge requests found
......@@ -40,9 +40,12 @@ static void timer_sig_handler(int signum) {
Assert(ret == 0, "Can not set timer");
}
void device_update() {} // Now an independent thread will do it.
void device_update_impl() {
// async
if(device_update_flag)
device_update_flag = false;
else
return;
if (update_screen_flag) {
update_screen();
update_screen_flag = false;
......@@ -72,6 +75,8 @@ void device_update_impl() {
}
}
void device_update() {device_update_impl();}
static void device_update_thread_daemon() {
while(true) {
if(device_update_flag.exchange(false)) {
......@@ -104,7 +109,7 @@ void init_device() {
ret = setitimer(ITIMER_VIRTUAL, &it, NULL);
Assert(ret == 0, "Can not set timer");
std::thread(device_update_thread_daemon).detach();
// std::thread(device_update_thread_daemon).detach();
}
#else
......
......@@ -19,9 +19,11 @@ static uint32_t (*vmem) [SCREEN_W];
static uint32_t *screensize_port_base;
inline void SDL_ErrorCheck(int ret) {
#ifdef DEBUG
if(ret != 0) {
rlib::println("SDL_Error: ret=", ret, ", GETERR=", SDL_GetError());
}
#endif
}
static void init_vga_impl() {
......@@ -38,7 +40,7 @@ static void init_vga_impl() {
void update_screen() {
#ifndef DISABLE_MMIO
if(window == nullptr) init_vga_impl();
// if(window == nullptr) init_vga_impl();
SDL_ErrorCheck(SDL_UpdateTexture(texture, NULL, vmem, SCREEN_W * sizeof(vmem[0][0])));
SDL_ErrorCheck(SDL_RenderClear(renderer));
SDL_ErrorCheck(SDL_RenderCopy(renderer, texture, NULL, NULL));
......@@ -49,6 +51,7 @@ void update_screen() {
void init_vga() {
// Because of fucking SDL design, vga_init should be done in updating thread.
// Do nothing in main thread.
init_vga_impl();
}
#endif /* HAS_IOE */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment