parent
79761f1333
commit
1489dcc38a
@ -0,0 +1,25 @@
|
||||
From 15c4f144a3783d9f1f2c976acf9f4d85988fd466 Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Sun, 5 Jan 2020 19:56:57 +0100
|
||||
Subject: [PATCH] rfbShutdownServer: Call rfbClientConnectionGone if no
|
||||
backgroundLoop
|
||||
|
||||
Otherwise the servers that don't use rfbRunEventLoop don't get
|
||||
notified of client disconnections
|
||||
---
|
||||
libvncserver/main.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libvncserver/main.c b/libvncserver/main.c
|
||||
index b51f0ab6..738a501d 100644
|
||||
--- a/libvncserver/main.c
|
||||
+++ b/libvncserver/main.c
|
||||
@@ -1152,6 +1152,8 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) {
|
||||
write(currentCl->pipe_notify_client_thread[1], "\x00", 1);
|
||||
/* And wait for it to finish. */
|
||||
pthread_join(currentCl->client_thread, NULL);
|
||||
+ } else {
|
||||
+ rfbClientConnectionGone(currentCl);
|
||||
}
|
||||
#else
|
||||
rfbClientConnectionGone(currentCl);
|
@ -0,0 +1,42 @@
|
||||
From 3348a7e42e86dfb98dd7458ad29def476cf6096f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Beier <dontmind@freeshell.org>
|
||||
Date: Sat, 9 Feb 2019 13:23:26 +0100
|
||||
Subject: [PATCH] CMake: replace hardcoded 'lib' with ${CMAKE_INSTALL_LIBDIR}
|
||||
|
||||
Closes #281
|
||||
---
|
||||
CMakeLists.txt | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 873cc7b5..55f7e650 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -9,6 +9,7 @@ include(CheckTypeSize)
|
||||
include(TestBigEndian)
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckCSourceRuns)
|
||||
+include(GNUInstallDirs)
|
||||
|
||||
enable_testing()
|
||||
|
||||
@@ -666,8 +667,8 @@ get_link_libraries(PRIVATE_LIBS vncclient)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libvncclient.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libvncclient.pc @ONLY)
|
||||
|
||||
|
||||
-install_targets(/lib vncserver)
|
||||
-install_targets(/lib vncclient)
|
||||
+install_targets(/${CMAKE_INSTALL_LIBDIR} vncserver)
|
||||
+install_targets(/${CMAKE_INSTALL_LIBDIR} vncclient)
|
||||
install_files(/include/rfb FILES
|
||||
rfb/keysym.h
|
||||
rfb/rfb.h
|
||||
@@ -677,7 +678,7 @@ install_files(/include/rfb FILES
|
||||
rfb/rfbregion.h
|
||||
)
|
||||
|
||||
-install_files(/lib/pkgconfig FILES
|
||||
+install_files(/${CMAKE_INSTALL_LIBDIR}/pkgconfig FILES
|
||||
libvncserver.pc
|
||||
libvncclient.pc
|
||||
)
|
@ -0,0 +1,38 @@
|
||||
From 36a71279ed5b10effecd879caf6c3791842ca713 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Beier <dontmind@freeshell.org>
|
||||
Date: Thu, 28 Mar 2019 21:06:36 +0100
|
||||
Subject: [PATCH] CMake: replace 'lib' with ${CMAKE_INSTALL_LIBDIR} for
|
||||
pkgconfig files as well
|
||||
|
||||
Thanks to https://github.com/ikelos for spotting this ;-)
|
||||
|
||||
Closes #290
|
||||
---
|
||||
libvncclient.pc.cmakein | 2 +-
|
||||
libvncserver.pc.cmakein | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libvncclient.pc.cmakein b/libvncclient.pc.cmakein
|
||||
index 169a8b7c..445f7e74 100644
|
||||
--- a/libvncclient.pc.cmakein
|
||||
+++ b/libvncclient.pc.cmakein
|
||||
@@ -1,6 +1,6 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
-libdir=@CMAKE_INSTALL_PREFIX@/lib
|
||||
+libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
|
||||
includedir=@CMAKE_INSTALL_PREFIX@/include
|
||||
|
||||
Name: LibVNCClient
|
||||
diff --git a/libvncserver.pc.cmakein b/libvncserver.pc.cmakein
|
||||
index f38d74fe..c6898061 100644
|
||||
--- a/libvncserver.pc.cmakein
|
||||
+++ b/libvncserver.pc.cmakein
|
||||
@@ -1,6 +1,6 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
-libdir=@CMAKE_INSTALL_PREFIX@/lib
|
||||
+libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
|
||||
includedir=@CMAKE_INSTALL_PREFIX@/include
|
||||
|
||||
Name: LibVNCServer
|
@ -1,22 +0,0 @@
|
||||
--- ./CMakeLists.txt.orig 2020-02-10 05:29:48.921993426 +0000
|
||||
+++ ./CMakeLists.txt 2020-02-10 19:27:27.762744228 +0000
|
||||
@@ -666,8 +666,8 @@ get_link_libraries(PRIVATE_LIBS vncclien
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libvncclient.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libvncclient.pc @ONLY)
|
||||
|
||||
|
||||
-install_targets(/lib vncserver)
|
||||
-install_targets(/lib vncclient)
|
||||
+install_targets(/lib64 vncserver)
|
||||
+install_targets(/lib64 vncclient)
|
||||
install_files(/include/rfb FILES
|
||||
rfb/keysym.h
|
||||
rfb/rfb.h
|
||||
@@ -677,7 +677,7 @@ install_files(/include/rfb FILES
|
||||
rfb/rfbregion.h
|
||||
)
|
||||
|
||||
-install_files(/lib/pkgconfig FILES
|
||||
+install_files(/lib64/pkgconfig FILES
|
||||
libvncserver.pc
|
||||
libvncclient.pc
|
||||
)
|
@ -0,0 +1,32 @@
|
||||
From d0a76539835d11c0f4723499f8be4bc9c7724eb9 Mon Sep 17 00:00:00 2001
|
||||
From: Rajesh Sahoo <rajesh.sahoo@lge.com>
|
||||
Date: Tue, 11 Jun 2019 15:13:04 +0530
|
||||
Subject: [PATCH] avoid pthread_join if backgroundLoop is FALSE
|
||||
|
||||
client_thread is created depending upon backgroundLoop, but joining
|
||||
without checking for same condition. so we are trying to join a garbage
|
||||
thread_id.
|
||||
---
|
||||
libvncserver/main.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libvncserver/main.c b/libvncserver/main.c
|
||||
index d3cd9b1e..772fb18f 100644
|
||||
--- a/libvncserver/main.c
|
||||
+++ b/libvncserver/main.c
|
||||
@@ -1112,6 +1112,7 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) {
|
||||
}
|
||||
|
||||
#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD
|
||||
+ if(currentCl->screen->backgroundLoop) {
|
||||
/*
|
||||
Notify the thread. This simply writes a NULL byte to the notify pipe in order to get past the select()
|
||||
in clientInput(), the loop in there will then break because the rfbCloseClient() above has set
|
||||
@@ -1120,6 +1121,7 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) {
|
||||
write(currentCl->pipe_notify_client_thread[1], "\x00", 1);
|
||||
/* And wait for it to finish. */
|
||||
pthread_join(currentCl->client_thread, NULL);
|
||||
+ }
|
||||
#else
|
||||
rfbClientConnectionGone(currentCl);
|
||||
#endif
|
Loading…
Reference in new issue