Justus Winter, le Fri 26 Sep 2014 17:30:07 +0200, a écrit : > Previously, it was impossible to hand e.g. the master device port to > more than one bootstrap task. Fix this by creating the send right as > it is inserted into the target task.
Ack. > * kern/bootstrap.c (bootstrap_create): Do not create the send rights > here... > (boot_script_insert_right): ... but here. > --- > kern/bootstrap.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/kern/bootstrap.c b/kern/bootstrap.c > index d919e90..4edae7b 100644 > --- a/kern/bootstrap.c > +++ b/kern/bootstrap.c > @@ -155,13 +155,13 @@ void bootstrap_create(void) > /* Initialize boot script variables. We leak these send rights. */ > losers = boot_script_set_variable > ("host-port", VAL_PORT, > - (long)ipc_port_make_send(realhost.host_priv_self)); > + (long) realhost.host_priv_self); > if (losers) > panic ("cannot set boot-script variable host-port: %s", > boot_script_error_string (losers)); > losers = boot_script_set_variable > ("device-port", VAL_PORT, > - (long) ipc_port_make_send(master_device_port)); > + (long) master_device_port); > if (losers) > panic ("cannot set boot-script variable device-port: %s", > boot_script_error_string (losers)); > @@ -838,7 +838,8 @@ boot_script_free_task (task_t task, int aborting) > int > boot_script_insert_right (struct cmd *cmd, mach_port_t port, mach_port_t > *name) > { > - *name = task_insert_send_right (cmd->task, (ipc_port_t)port); > + *name = task_insert_send_right (cmd->task, > + ipc_port_make_send((ipc_port_t) port)); > return 0; > } > > -- > 2.1.0 > -- Samuel Hi ! I'm a .signature virus ! Copy me into your ~/.signature, please !