version 4.5.0

PIThread::stopAndWait now returns bool
PIKbdListener on Linux now use piwaitevent_p and can immediately stop
new base method piZeroMemory, also migrate all "memset 0" to piZeroMemory
This commit is contained in:
2024-12-29 11:48:24 +03:00
parent 49713ddc57
commit 15548de79c
27 changed files with 121 additions and 89 deletions

View File

@@ -206,7 +206,7 @@ PIString execute(const PIString & cmd) {
if (fp) {
const int sz = 256;
char in[sz];
memset(in, 0, sz);
piZeroMemory(in, sz);
while (true) {
int r = fread(in, 1, sz, fp);
if (r <= 0) break;

View File

@@ -125,7 +125,7 @@ void readConsole(int x, int y, int w, int h) {
bs.X = w;
bs.Y = h;
bc.X = bc.Y = 0;
memset(chars, 0, w * h * sizeof(CHAR_INFO));
piZeroMemory(chars, w * h * sizeof(CHAR_INFO));
ReadConsoleOutput(console, chars, bs, bc, &(sbi.srWindow));
for (int i = 0; i < h; ++i)
for (int j = 0; j < w; ++j)
@@ -249,9 +249,9 @@ int main(int argc, char * argv[]) {
// piCout << "start";
STARTUPINFOA si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(si));
memset(&pi, 0, sizeof(pi));
memset(&sbi, 0, sizeof(sbi));
piZeroMemory(si);
piZeroMemory(pi);
piZeroMemory(sbi);
PIString shmh, pname;
if (argc > 1) shmh = argv[1];
if (argc > 2) pname = argv[2];

View File

@@ -421,11 +421,12 @@ int main(int argc, char * argv[]) {
if (sapp) CONNECTU(sapp, messageReceived, menu, messageFromApp);
if (cli.hasArgument("silent")) {
PICout::setOutputDevices(PICout::Console);
PIKbdListener ls;
PIKbdListener ls(0, 0, false);
ls.enableExitCapture(PIKbdListener::F10);
ls.start();
WAIT_FOR_EXIT
ls.stopAndWait();
while (!PIKbdListener::exiting)
piMSleep(PIP_MIN_MSLEEP * 5);
if (!ls.stopAndWait(1_s)) ls.terminate();
} else {
screen->start();
screen->waitForFinish();