From 90abc79efa3d7ca6ac10c5f3bc329ec128008523 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Wed, 22 Nov 2023 13:02:35 +0900 Subject: krfb: fix termination and syncing of threads on exit. This resolves issue #2. Signed-off-by: Michele Calgaro --- libvncserver/main.h | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'libvncserver/main.h') diff --git a/libvncserver/main.h b/libvncserver/main.h index 6c31980..1edd4cc 100644 --- a/libvncserver/main.h +++ b/libvncserver/main.h @@ -21,9 +21,15 @@ class ControlPipeHandlerObject : public TQObject public slots: void run(); + void requestExit() { d.requestExit = true; } public: - rfbScreenInfoPtr d; + struct Data + { + rfbScreenInfoPtr rfbData; + bool requestExit; + }; + Data d; }; class OnHoldClientHandlerObject : public TQObject @@ -36,9 +42,15 @@ class OnHoldClientHandlerObject : public TQObject public slots: void run(); + void requestExit() { d.requestExit = true; } public: - rfbClientPtr d; + struct Data + { + rfbClientPtr rfbData; + bool requestExit; + }; + Data d; }; class ClientOutputHandlerObject : public TQObject @@ -51,9 +63,15 @@ class ClientOutputHandlerObject : public TQObject public slots: void run(); + void requestExit() { d.requestExit = true; } public: - rfbClientPtr d; + struct Data + { + rfbClientPtr rfbData; + bool requestExit; + }; + Data d; }; #endif // _MAIN_H -- cgit v1.2.3