include krfb patches (upstream pull request #16)
parent
c8b2768790
commit
2524743962
@ -0,0 +1,36 @@
|
||||
From afd1d329ed117f6e4d8c46eba362b7d5c51184ac Mon Sep 17 00:00:00 2001
|
||||
From: Amandeep Singh <aman.dedman@gmail.com>
|
||||
Date: Wed, 9 Oct 2013 04:12:08 +0530
|
||||
Subject: [PATCH 1/2] Fix crash in krfb
|
||||
|
||||
Krfb crashes on quit, if any client is connected
|
||||
due to a rfbClientConnectionGone call missing
|
||||
---
|
||||
libvncserver/main.c | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libvncserver/main.c b/libvncserver/main.c
|
||||
index 4cb18ac..b8cdde1 100644
|
||||
--- a/libvncserver/main.c
|
||||
+++ b/libvncserver/main.c
|
||||
@@ -1061,10 +1061,13 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) {
|
||||
if(disconnectClients) {
|
||||
rfbClientPtr cl;
|
||||
rfbClientIteratorPtr iter = rfbGetClientIterator(screen);
|
||||
- while( (cl = rfbClientIteratorNext(iter)) )
|
||||
- if (cl->sock > -1)
|
||||
- /* we don't care about maxfd here, because the server goes away */
|
||||
- rfbCloseClient(cl);
|
||||
+ while( (cl = rfbClientIteratorNext(iter)) ) {
|
||||
+ if (cl->sock > -1) {
|
||||
+ /* we don't care about maxfd here, because the server goes away */
|
||||
+ rfbCloseClient(cl);
|
||||
+ rfbClientConnectionGone(cl);
|
||||
+ }
|
||||
+ }
|
||||
rfbReleaseClientIterator(iter);
|
||||
}
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
@ -0,0 +1,30 @@
|
||||
From 012594b970b07c212eaf48ed22333a9d37d017a4 Mon Sep 17 00:00:00 2001
|
||||
From: Amandeep Singh <aman.dedman@gmail.com>
|
||||
Date: Sat, 28 Sep 2013 17:58:13 +0530
|
||||
Subject: [PATCH 2/2] allow rfbInitSockets with non-ready states.
|
||||
|
||||
This allows for reinitializations of e. g. sockets in a SHUTDOWN state.
|
||||
The only state that doesn't make sense to reinitialize are READY states.
|
||||
---
|
||||
libvncserver/sockets.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c
|
||||
index ddd8450..d2f814b 100644
|
||||
--- a/libvncserver/sockets.c
|
||||
+++ b/libvncserver/sockets.c
|
||||
@@ -122,8 +122,9 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen)
|
||||
{
|
||||
in_addr_t iface = rfbScreen->listenInterface;
|
||||
|
||||
- if (rfbScreen->socketState!=RFB_SOCKET_INIT)
|
||||
- return;
|
||||
+ if (rfbScreen->socketState == RFB_SOCKET_READY) {
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
rfbScreen->socketState = RFB_SOCKET_READY;
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
Loading…
Reference in new issue