Package: python-x2go
Version: 0.5.0.4
Hi,
I'm using x2go python bindings, and noticed that X2GoSession's .suspend() can
break with gevent 1.1. I've downgraded gevent to 1.0.2 and unchanged code
works fine with it.
Sample code (i believe taken from a sample code):
class Client(X2GoClient):
def do_connect(self):
...
sid = self.register_session(server=session_args.pop('server', None),
username=session_args.pop('username',
None),
profile_name=session_args.pop('profile_name',
None),
port=session_args.pop('port', None),
return_object=True)
sid.update_params(session_args)
sid.connect()
self.clean_sessions(sid.uuid)
sid.start(cmd='XFCE')
session_name = sid.get_session_name()
if session_name is None:
log.error("X2Go session creation: Session name is None,
terminating")
return
sid.suspend()
...
Traceback:
File "/usr/lib/python2.7/dist-packages/x2go/session.py", line 2303, in
suspend
self._lock.release()
File "gevent/_semaphore.py", line 266, in
gevent._semaphore.BoundedSemaphore.release (gevent/gevent._semaphore.c:4866)
File "gevent/_semaphore.py", line 268, in
gevent._semaphore.BoundedSemaphore.release (gevent/gevent._semaphore.c:4802)
thread.error: Semaphore released too many times
Best Regards,
Cezary Statkiewicz