![]() the emulator thread was consuming 100% cpu even when the debugger was active and execution paused. a second pipe was added to gdb stub, which allows communication in direction stub -> emulator/frontend, and also to infinitely block in the frontend until the debugger returns control, for example by typing "c" (continue) in gdb. the other frontends use an inefficient method of running usleep(1000) or similar in a loop, which will cause high cpu usage too, albeit not a full 100% but more like 10-20%. in order not to fill up the pipe with data for frontends that don't use this mechanism, the functionality needs to be explicitly enabled. (see functions added to gdbstub.h) the functions added could in theory also be used to communicate other data to the frontend, and optimally even replace all the locking between the 2 sides. |
||
---|---|---|
.github/workflows | ||
desmume | ||
tools | ||
.gitignore | ||
README.md | ||
license.txt |