We forgot to handle closed control connections in the `handle_requests` loop. So instead of breaking out of that loop, we continued polling the connection for new messages again and again.
The rus compiler compile package against a specific glibc version that
changes depending on the ubuntu version we're using.
This commit should fix error such as:
```bash
./dora: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./dora)
./dora: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./dora)
./dora: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./dora)
```
This commit is an initial draft at fixing #147. The error is due to the
fact that pyo3 has linked the libpython from the compilation and not
trying to use libpython that is available in `LD_LIBRARY_PATH`.
The current only solution to disable the linking is to use the `extension-module` flag.
This requires to make the python `runtime-node` packaged in a python library.
The python `runtime-node` should also be fully compatible with the other operators in case we want hybrid runtime.
The issue that i'm facing is that. Due to the packaging, I have to deal with the `GIL` that is present from the start of
`dora-runtime` node. This however makes the process single threaded wich is impossible.
So, I have to disable it, but when I do, I have a race condition:
```bash
Exception ignored in: <module 'threading' from '/usr/lib/python3.8/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 1373, in _shutdown
assert tlock.locked()
AssertionError:
```
The issue is the same as https://github.com/PyO3/pyo3/issues/1274
To fix this issue, I'm going to look again at the different step to make this work.
But this is my current investigation.