[Remove hurd-devel.]

Hello!

In the server T (`/servers/ioperm') I essentially have...

#v+
kern_return_t
S_i386_io_perm_create (mach_port_t port, io_port_t from, io_port_t to,
                       mach_port_t *io_perm)
{ 
  kern_return_t err;

[Do some checks on PORT.]

  err = i386_io_perm_create (devmaster, from, to, io_perm);

  return err;
}
#v-

... to serve invocations of `i386_io_perm_create' on T and -- after the
needed checking -- pass the request to the device-master port, invoking
`i386_io_perm_create' on there.  This works.

But there is one problem.  If the requestee (the program that invoked
`i386_io_perm_create' on T) terminates, the server T won't (tell the
kernel to) destroy the resources that have been allocated by invoking
`i386_io_perm_create' on the device-master port.  This is because there
is no association between the port `port' and these resources.  How to
establish such a relationship?

If `port' becomes dead, `io_perm' should be deallocated as well, but how?


Regards,
 Thomas

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Bug-hurd mailing list
Bug-hurd@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to