On 30/08/2025 00:12, Samuel Thibault wrote:
+ err = mach_port_set_ktype (master_host,
+ mach_task_self (),
+ bd->port.port_right,
+ MACH_PORT_RIGHT_RECEIVE,
+ MACH_PORT_KTYPE_USER_DEVICE);
+ if (err != 0)
+ {
+ mach_print ("Failed to set receive port as USER_DEVICE\n");
+ rump_sys_close (fd);
+ pthread_rwlock_unlock (&rumpdisk_rwlock);
+ return err;
}
bd->taken = 1;
We don't want to make this fatal, because that would immediately break a
box that upgrades its hurd package but not its gnumach package. Better
just print a fat warning that swapping might hang.
I wavered many times between a warning and a terminal error. How typical
of me to land on the wrong side of the fence! I'll get this and the
other alterations submitted later today.
I've realised that the mig types and the C types each need separate
declarations so would you prefer a 'mach_port_ktype_t' typedef used for
the 'ktype' argument or just leave it as unsigned?
Regards,
Mike.