libc blocking functions/with_libc inside thread

Boris Mulder boris.mulder at ...434...
Fri Jun 23 14:24:01 CEST 2017

Hi all,

We are trying to get openVPN to work under 17.05 again. One issue we
encountered was that lwip sockets seem to function incorrectly; so we
tried switching to lxip sockets.

However, sockets in lxip require the use of the with_libc() function.
When I put this around the openvpn_main() call it gives me the error:

Error: void Libc::Kernel::run(Libc::Application_code&) called from
non-kernel context

The catch here is that I'm calling all this from inside the code of a
Genode::Thread which executes the main function of openvpn. It seems
that I cannot use with_libc inside another thread than the entrypoint

calling with_libc inside Component::construct() does not work for the
new thread. It will fail when calling socket().

Is there any way of using sockets correctly inside another thread?


Met vriendelijke groet / kind regards,

Boris Mulder

Cyber Security Labs B.V. | Gooimeer 6-31 | 1411 DD Naarden | The Netherlands
+31 35 631 3253 (office)

More information about the users mailing list