version 4.0.0_alpha
in almost all methods removed timeouts in milliseconds, replaced to PISystemTime PITimer rewrite, remove internal impl, now only thread implementation, API similar to PIThread PITimer API no longer pass void* PIPeer, PIConnection improved stability on reinit and exit PISystemTime new methods pisd now exit without hanging
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
#include "piscreen.h"
|
||||
|
||||
#include "piincludes_p.h"
|
||||
#include "piliterals_time.h"
|
||||
#ifndef WINDOWS
|
||||
# include <fcntl.h>
|
||||
# include <sys/ioctl.h>
|
||||
@@ -417,8 +418,8 @@ PIScreen::PIScreen(bool startNow, PIKbdListener::KBFunc slot): PIThread(), drawe
|
||||
|
||||
PIScreen::~PIScreen() {
|
||||
if (isRunning()) stop();
|
||||
PIThread::waitForFinish(10);
|
||||
listener->waitForFinish(10);
|
||||
PIThread::waitForFinish(100_ms);
|
||||
listener->waitForFinish(100_ms);
|
||||
delete listener;
|
||||
}
|
||||
|
||||
@@ -590,6 +591,12 @@ void PIScreen::waitForFinish() {
|
||||
}
|
||||
|
||||
|
||||
void PIScreen::start(bool wait) {
|
||||
PIThread::start(25_Hz);
|
||||
if (wait) waitForFinish();
|
||||
}
|
||||
|
||||
|
||||
void PIScreen::stop(bool clear) {
|
||||
PIThread::stopAndWait();
|
||||
if (clear) console.clearScreen();
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "piterminal.h"
|
||||
|
||||
#include "piincludes_p.h"
|
||||
#include "piliterals_time.h"
|
||||
#include "pisharedmemory.h"
|
||||
#ifndef MICRO_PIP
|
||||
# ifdef WINDOWS
|
||||
@@ -126,7 +127,7 @@ PITerminal::PITerminal(): PIThread() {
|
||||
|
||||
PITerminal::~PITerminal() {
|
||||
if (isRunning()) stop();
|
||||
PIThread::waitForFinish(10);
|
||||
PIThread::waitForFinish(1_s);
|
||||
destroy();
|
||||
# ifdef WINDOWS
|
||||
if (PRIVATE->shm) delete PRIVATE->shm;
|
||||
@@ -915,7 +916,7 @@ bool PITerminal::initialize() {
|
||||
# endif
|
||||
cursor_blink = false;
|
||||
cursor_tm.reset();
|
||||
start(40);
|
||||
start(25_Hz);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -923,7 +924,7 @@ bool PITerminal::initialize() {
|
||||
void PITerminal::destroy() {
|
||||
// piCout << "destroy ...";
|
||||
stop();
|
||||
waitForFinish(1000);
|
||||
waitForFinish(1_s);
|
||||
# ifdef WINDOWS
|
||||
if (PRIVATE->pi.hProcess) {
|
||||
// piCout << "term";
|
||||
|
||||
Reference in New Issue
Block a user