| ... | ... |
@@ -1,5 +1,6 @@ |
| 1 | 1 |
#include <stdio.h> |
| 2 | 2 |
#include <time.h> |
| 3 |
+#include <unistd.h> |
|
| 3 | 4 |
|
| 4 | 5 |
#include "uxn.h" |
| 5 | 6 |
|
| ... | ... |
@@ -81,7 +82,7 @@ stdin_handler(void *p) |
| 81 | 82 |
{
|
| 82 | 83 |
SDL_Event event; |
| 83 | 84 |
event.type = stdin_event; |
| 84 |
- while(fread(&event.cbutton.button, 1, 1, stdin) > 0 && SDL_PushEvent(&event) >= 0) |
|
| 85 |
+ while(read(0, &event.cbutton.button, 1) > 0 && SDL_PushEvent(&event) >= 0) |
|
| 85 | 86 |
; |
| 86 | 87 |
return 0; |
| 87 | 88 |
(void)p; |
| ... | ... |
@@ -514,6 +515,7 @@ main(int argc, char **argv) |
| 514 | 515 |
if(!loaded && !start(&u, "launcher.rom")) |
| 515 | 516 |
return error("usage", "uxnemu [-s scale] file.rom");
|
| 516 | 517 |
run(&u); |
| 518 |
+ close(0); /* make stdin thread exit */ |
|
| 517 | 519 |
SDL_Quit(); |
| 518 | 520 |
return 0; |
| 519 | 521 |
} |