add handler-case in peer addr/port functions for not-connected-error

This commit is contained in:
Jamie Forth 2015-07-10 16:33:11 +01:00
parent 3303d3b7de
commit 57a867f119

View file

@ -40,34 +40,44 @@
(defun port (osc-device)
(if (device-active-p osc-device)
(multiple-value-bind (addr port)
(device-socket-name osc-device)
(declare (ignore addr))
port)
(warn "Device not connected.")))
(device-socket-name osc-device)
(declare (ignore addr))
port)
(warn "Device not active.")))
(defun address (osc-device)
(if (device-active-p osc-device)
(multiple-value-bind (addr port)
(device-socket-name osc-device)
(declare (ignore port))
addr)
(warn "Device not connected.")))
(device-socket-name osc-device)
(declare (ignore port))
addr)
(warn "Device not active.")))
(defun device-socket-peername (osc-device)
(socket-peername (socket osc-device)))
(defun peer-port (osc-device)
(if (device-active-p osc-device)
(multiple-value-bind (addr port)
(device-socket-peername osc-device)
(declare (ignore addr))
port)
(warn "Device not connected.")))
(handler-case
(multiple-value-bind (addr port)
(device-socket-peername osc-device)
(declare (ignore addr))
port)
(sb-bsd-sockets:not-connected-error ()
(warn "Device ~a not connected: device removed."
(device-socket-name osc-device))
(osc-device-cleanup osc-device)))
(warn "Device not active.")))
(defun peer-address (osc-device)
(if (device-active-p osc-device)
(multiple-value-bind (addr port)
(device-socket-peername osc-device)
(declare (ignore port))
addr)
(warn "Device not connected.")))
(handler-case
(multiple-value-bind (addr port)
(device-socket-peername osc-device)
(declare (ignore port))
addr)
(sb-bsd-sockets:not-connected-error ()
(warn "Device ~a not connected: device removed."
(device-socket-name osc-device))
(osc-device-cleanup osc-device)))
(warn "Device not active.")))