Add a delay loop for VNC back end.

This commit is contained in:
Bojan Smojver 2014-12-22 18:11:55 +11:00
parent 6fa52392b5
commit bc184a5e80
2 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,27 @@
diff -ruN xrdp-v0.6.1-vanilla/vnc/vnc.c xrdp-v0.6.1/vnc/vnc.c
--- xrdp-v0.6.1-vanilla/vnc/vnc.c 2013-11-10 07:11:15.000000000 +1100
+++ xrdp-v0.6.1/vnc/vnc.c 2014-12-22 17:49:57.474144440 +1100
@@ -846,6 +846,7 @@
int error;
int i;
int check_sec_result;
+ int count;
v->server_msg(v, "started connecting", 0);
check_sec_result = 1;
@@ -870,7 +871,14 @@
v->sck_closed = 0;
g_sprintf(text, "connecting to %s %s", v->ip, con_port);
v->server_msg(v, text, 0);
- error = g_tcp_connect(v->sck, v->ip, con_port);
+
+ for (count = 0; count < 10; count++) {
+ error = g_tcp_connect(v->sck, v->ip, con_port);
+ if (error == 0)
+ break;
+ g_sleep(1000);
+ }
+
if (error == 0)
{
v->server_msg(v, "tcp connected", 0);

View File

@ -1,7 +1,7 @@
Summary: Open source remote desktop protocol (RDP) server
Name: xrdp
Version: 0.6.1
Release: 6%{?dist}
Release: 7%{?dist}
License: GPLv2+ with exceptions
Group: Applications/Internet
URL: http://xrdp.sourceforge.net/
@ -16,6 +16,7 @@ Patch3: xrdp-endian.patch
Patch4: xrdp-0.6.1-syslog-format.patch
Patch5: xrdp-0.6.1-memset.patch
Patch6: xrdp-0.6.1-implicit-decl.patch
Patch7: xrdp-0.6.1-vnc-delay.patch
Source1: xrdp.service
Source2: xrdp-sesman.service
@ -54,6 +55,7 @@ terminal server / remote desktop clients.
%patch4 -p1 -b .syslog-format
%patch5 -p1 -b .memset
%patch6 -p1 -b .implicit-decl
%patch7 -p1 -b .vnc-delay
# remove unused modules from xrdp login combobox
%{__sed} -i -e '/\[xrdp2\]/,$d' xrdp/xrdp.ini
@ -180,6 +182,9 @@ fi
%attr(0600,root,root) %verify(not size md5 mtime) %{_sysconfdir}/xrdp/rsakeys.ini
%changelog
* Mon Dec 22 2014 Bojan Smojver <bojan@rexursive.com> - 0.6.1-7
- add a delay loop when connecting to VNC back end
* Mon Dec 8 2014 Bojan Smojver <bojan@rexursive.com> - 0.6.1-6
- use systemd rpm macros: bug #850374