diff --git a/repos/ports/src/noux/main.cc b/repos/ports/src/noux/main.cc index c19bdd6e6..73be9ad2b 100644 --- a/repos/ports/src/noux/main.cc +++ b/repos/ports/src/noux/main.cc @@ -144,8 +144,7 @@ connect_stdio(Genode::Env &env, return *new (alloc) Vfs_io_channel(path.string(), root.leaf_path(path.string()), &root, - vfs_handle, vfs_handle_context, - vfs_io_waiter_registry, env.ep()); + vfs_handle, vfs_io_waiter_registry, env.ep()); } diff --git a/repos/ports/src/noux/syscall.cc b/repos/ports/src/noux/syscall.cc index 1d508c769..822fd4016 100644 --- a/repos/ports/src/noux/syscall.cc +++ b/repos/ports/src/noux/syscall.cc @@ -240,7 +240,7 @@ bool Noux::Child::syscall(Noux::Session::Syscall sc) Shared_pointer channel(new (_heap) Vfs_io_channel(_sysio.open_in.path, leaf_path, &_root_dir, - vfs_handle, _vfs_handle_context, + vfs_handle, _vfs_io_waiter_registry, _env.ep()), _heap); diff --git a/repos/ports/src/noux/vfs_io_channel.h b/repos/ports/src/noux/vfs_io_channel.h index 876af82f9..72b01e5a8 100644 --- a/repos/ports/src/noux/vfs_io_channel.h +++ b/repos/ports/src/noux/vfs_io_channel.h @@ -62,8 +62,6 @@ struct Noux::Vfs_io_channel : Io_channel Vfs::Vfs_handle *_fh; - Vfs_handle_context &_context; - Vfs_io_waiter_registry &_vfs_io_waiter_registry; Absolute_path _path; @@ -71,16 +69,13 @@ struct Noux::Vfs_io_channel : Io_channel Vfs_io_channel(char const *path, char const *leaf_path, Vfs::Dir_file_system *root_dir, Vfs::Vfs_handle *vfs_handle, - Vfs_handle_context &vfs_handle_context, Vfs_io_waiter_registry &vfs_io_waiter_registry, Entrypoint &ep) : _read_avail_handler(ep, *this, &Vfs_io_channel::_handle_read_avail), - _fh(vfs_handle), _context(vfs_handle_context), - _vfs_io_waiter_registry(vfs_io_waiter_registry), + _fh(vfs_handle), _vfs_io_waiter_registry(vfs_io_waiter_registry), _path(path), _leaf_path(leaf_path) { - _fh->context = &_context; _fh->fs().register_read_ready_sigh(_fh, _read_avail_handler); } @@ -92,8 +87,8 @@ struct Noux::Vfs_io_channel : Io_channel while (!_fh->fs().queue_sync(_fh)) vfs_io_waiter.wait_for_io(); - while (_fh->fs().complete_sync(_fh) == Vfs::File_io_service::SYNC_QUEUED) - _context.vfs_io_waiter.wait_for_io(); + while (_fh->fs().complete_sync(_fh) == Vfs::File_io_service::SYNC_QUEUED) + vfs_io_waiter.wait_for_io(); _fh->ds().close(_fh); } @@ -146,7 +141,7 @@ struct Noux::Vfs_io_channel : Io_channel if (sysio.error.read != Vfs::File_io_service::READ_QUEUED) break; - _context.vfs_io_waiter.wait_for_io(); + vfs_io_waiter.wait_for_io(); } if (sysio.error.read != Vfs::File_io_service::READ_OK) @@ -173,7 +168,7 @@ struct Noux::Vfs_io_channel : Io_channel vfs_io_waiter.wait_for_io(); while (_fh->fs().complete_sync(_fh) == Vfs::File_io_service::SYNC_QUEUED) - _context.vfs_io_waiter.wait_for_io(); + vfs_io_waiter.wait_for_io(); Vfs::Directory_service::Stat stat; sysio.error.stat = _fh->ds().stat(_leaf_path.base(), stat); @@ -262,7 +257,7 @@ struct Noux::Vfs_io_channel : Io_channel if (read_result != Vfs::File_io_service::READ_QUEUED) break; - _context.vfs_io_waiter.wait_for_io(); + vfs_io_waiter.wait_for_io(); } if ((read_result != Vfs::File_io_service::READ_OK) ||