Skip to content
This repository has been archived by the owner on Apr 7, 2022. It is now read-only.

Asynchronous server hang when the tango server fails to start #74

Closed
vxgmichel opened this issue Oct 17, 2016 · 0 comments
Closed

Asynchronous server hang when the tango server fails to start #74

vxgmichel opened this issue Oct 17, 2016 · 0 comments
Milestone

Comments

@vxgmichel
Copy link
Contributor

If an asynchronous device server fails to start (because an exception has been raised in init_device for instance), the program hangs. This could be fixed by replacing the following code in __server_run:

tango_thread_id = worker.run_in_thread(tango_loop)
worker.run()

with:

tango_thread_id = worker.run_in_thread(tango_loop)
worker.run_until_complete(tango_thread_id)

@tiagocoutinho This fix should work for asyncio mode, but what about gevent?

@vxgmichel vxgmichel added this to the 9.2.1 milestone Jan 17, 2017
vxgmichel added a commit that referenced this issue Jan 30, 2017
This PR makes DeviceMeta a subclass of Boost.Python.class, so the metaclass definition is automatically propagated to the subclasses of Device.

It also fixes a fundamental issue with asyncio servers that I hadn't noticed until today, see 995db76.

The docs and examples have been simplified (1890f6c and 64c8cc9 promote the run_server method and remove the metaclass definitions).

It also fixes issue #74, see 38e1eec (unrelated, but it made my debugging easier).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant