diff options
| author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-09-16 00:17:32 +0000 |
|---|---|---|
| committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-09-16 00:17:32 +0000 |
| commit | ebb437fb4b27fa565b9aebb05cda1e9db4ec17ff (patch) | |
| tree | 15598d7d3bfc6ba837e6a5ab3c419f9ac17a2438 /devnode | |
| parent | 9ad092a877c6256a425be4f54cbb66382d6762bf (diff) | |
New upstream snapshot
Diffstat (limited to 'devnode')
| -rw-r--r-- | devnode/devnode.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/devnode/devnode.c b/devnode/devnode.c index 50011aa4..218b3081 100644 --- a/devnode/devnode.c +++ b/devnode/devnode.c @@ -164,6 +164,16 @@ ds_device_open (mach_port_t master_port, mach_port_t reply_port, || device_name == NULL) return D_NO_SUCH_DEVICE; + if (master_file != NULL) + { + if (master_device != MACH_PORT_NULL) + mach_port_deallocate (mach_task_self (), master_device); + + master_device = file_name_lookup (master_file, 0, 0); + if (master_device == MACH_PORT_NULL) + error (1, errno, "file_name_lookup"); + } + err = device_open (master_device, mode, device_name, device); *devicetype = MACH_MSG_TYPE_MOVE_SEND; return err; |
