Fix noux.run on base-linux

The recent move of the initial three region maps into the PD session
breaks the noux.run test on Linux because the address spaces are locally
managed on this platform but the generic code of Noux still tries to
execute the regular procedure of creating the virtualized PD session for
a new Noux process. This patch handles a corner case that occurs on
Linux but no other platform. It enables the successful creation of the
virtualized PD session so that the test runs to completion. Still noux
on Linux remains to be limited to non-forking programs.

Issue #1938
This commit is contained in:
Norman Feske 2016-05-10 11:55:25 +02:00 committed by Christian Helmuth
parent dccad4c526
commit cb232891bf
2 changed files with 2 additions and 2 deletions

View File

@ -65,5 +65,5 @@ Region_map::State Region_map_client::state() { return _local(*this)->state(); }
Dataspace_capability Region_map_client::dataspace() { Dataspace_capability Region_map_client::dataspace() {
return _local(*this)->dataspace(); } return _local(*this) ? _local(*this)->dataspace() : Dataspace_capability(); }

View File

@ -44,7 +44,7 @@ namespace Noux {
Dataspace_info(Dataspace_capability ds_cap) Dataspace_info(Dataspace_capability ds_cap)
: :
Object_pool<Dataspace_info>::Entry(ds_cap), Object_pool<Dataspace_info>::Entry(ds_cap),
_size(Dataspace_client(ds_cap).size()), _size(ds_cap.valid() ? Dataspace_client(ds_cap).size() : 0),
_ds_cap(ds_cap) _ds_cap(ds_cap)
{ } { }