io-duplicate.lisp 454 B

123456789101112131415
  1. (in-package :hurd-translator)
  2. (def-io-interface :io-duplicate ((port port)
  3. (newport port-pointer)
  4. (newporttype :pointer))
  5. (with-lookup protid port
  6. (let* ((new-user (make-iouser :old (get-user protid)))
  7. (new (new-protid *translator* new-user
  8. (open-node protid))))
  9. (setf (mem-ref newport 'port) (get-right new))
  10. (setf (mem-ref newporttype 'msg-type-name) :make-send)
  11. t)))