Damien Zammit, le dim. 26 juil. 2020 17:37:21 +1000, a ecrit:
> This patch almost provides shutdown notification for rumpdisk,
> but fails at getproc() which returns 0, I struggle to figure out why.
> +void
> +arrange_shutdown_notification ()
> +{
> + error_t err;
> + mach_port_t initport, notify;
> + process_t proc;
> + struct port_info *pi;
> +
> + proc = getproc ();
> + // XXX Why does this fail? assert_backtrace (proc);
See the implementation of getproc in glibc/hurd/hurdports.c, it takes
the port from the glibc's _hurd_ports array. See the bootstrap.html
page, that's only set up by libdiskfs for its children, and rump is a
parent of libdiskfs, so it can't magically inherit it, so you have to
set it by hand, just like other bootstrap translators do, see
git grep _hurd_ports .
Samuel