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

Reply via email to