[X2Go-Dev] [PATCH] Fix threading on OS X.
Oleksandr Shneyder
oleksandr.shneyder at obviously-nice.de
Mon Feb 20 09:14:43 CET 2012
Am 18.02.2012 04:57, schrieb Mihai Moldovan:
> Raise the stack space to 2MB for secondary threads. It previously used
> the 512KB system default.
>
> Signed-off-by: Mihai Moldovan <ionic at ionic.de>
> ---
> sshmasterconnection.cpp | 11 +++++++++--
> 1 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/sshmasterconnection.cpp b/sshmasterconnection.cpp
> index c922af2..2626346 100644
> --- a/sshmasterconnection.cpp
> +++ b/sshmasterconnection.cpp
> @@ -46,6 +46,11 @@ static bool isLibSshInited=false;
> SshMasterConnection::SshMasterConnection ( QString host, int port, bool
> acceptUnknownServers, QString user,
> QString pass, QString key,bool autologin, bool krblogin,
> QObject* parent ) : QThread ( parent )
> {
> +#if defined ( Q_OS_DARWIN )
> + // Mac OS X provides only 512KB stack space for secondary threads.
> + // As we put a 512KB buffer on the stack later on, we need a bigger
> stack space.
> + setStackSize (sizeof (char) * 1024 * 1024 * 2);
> +#endif
> this->host=host;
> this->port=port;
> this->user=user;
> @@ -62,7 +67,7 @@ SshMasterConnection::SshMasterConnection ( QString
> host, int port, bool acceptUn
> else
> x2goDebug<<"starting ssh connection without kerberos
> authentication"<<endl;
> #endif
> -kerberos=false;
> + kerberos=false;
> }
>
> SshMasterConnection::SshMasterConnection ( QString host, int port, bool
> acceptUnknownServers, QString user,
> @@ -70,7 +75,9 @@ SshMasterConnection::SshMasterConnection ( QString
> host, int port, bool acceptUn
> int remotePort, QString localHost, int localPort, SshProcess*
> creator,
> QObject* parent, ONMainWindow* mwd ) : QThread ( parent )
> {
> -
> +#if defined ( Q_OS_DARWIN )
> + setStackSize (sizeof (char) * 1024 * 1024 * 2);
> +#endif
> this->host=host;
> this->port=port;
> this->user=user;
>
>
>
> _______________________________________________
> X2Go-Dev mailing list
> X2Go-Dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/x2go-dev
Hi,
It is really nice that somebody want to make x2goclient working on Mac.
Unfortunately, building x2goclient for Mac is not enough. There are some
features in x2goclient (especially managing of nx-proxy window) which
can not be written with Qt methods, but only with system API (libx11 and
winapi). In addition, there are many changes from version to version in
Mac OS itself. Especially it relevant to X11. The behaviour of X11 can
be changed even within the same version of Mac OS with every new version
of X11. So, you should be sure, that changes you made in x2goclient
working with actual versions of mac and X11. Please be sure also, that
changes you making in code of x2go client will not break its
functionality on other systems and you always using the
#if defined ( Q_OS_DARWIN )
#endif
clauses
I still plan to rewrite code of x2goclient to make it more
understandable for other people and make hacking of it easier.
Unfortunately, in moment I have no time for it.
regards,
--
Oleksandr Shneyder
Dipl. Informatik
X2go Core Developer Team
email: oleksandr.shneyder at obviously-nice.de
web: www.obviously-nice.de
--> X2go - everywhere at home
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20120220/6eaa8b9b/attachment.pgp>
More information about the x2go-dev
mailing list