[usocket-cvs] r38 - public_html usocket/trunk/backend
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Sat Feb 4 14:14:32 UTC 2006
Author: ehuelsmann
Date: Sat Feb 4 08:14:30 2006
New Revision: 38
Modified:
public_html/index.shtml
usocket/trunk/backend/cmucl.lisp
Log:
Implement CMUCL error mapping and update status table.
Modified: public_html/index.shtml
==============================================================================
--- public_html/index.shtml (original)
+++ public_html/index.shtml Sat Feb 4 08:14:30 2006
@@ -100,7 +100,7 @@
<tr>
<td>Identify socket errors generated.</td>
<td class="DONE" title="Implemented">DONE</td>
- <td class="WIP" title="Work in progress">WIP</td>
+ <td class="DONE" title="Implemented">DONE</td>
<td class="TODO">TODO</td>
<td class="DONE" title="Implemented">DONE</td>
<td class="DONE" title="Implemented">DONE</td>
Modified: usocket/trunk/backend/cmucl.lisp
==============================================================================
--- usocket/trunk/backend/cmucl.lisp (original)
+++ usocket/trunk/backend/cmucl.lisp Sat Feb 4 08:14:30 2006
@@ -5,12 +5,19 @@
(in-package :usocket)
+
+;; CMUCL error handling is brain-dead: it doesn't preserve any
+;; information other than the OS error string from which the
+;; error can be determined. The OS error string isn't good enough
+;; given that it may have been localized (l10n).
+;;
+;; Just catch the errors and encapsulate them in an unknown-error
(defun handle-condition (condition &optional (socket nil))
"Dispatch correct usocket condition."
(typecase condition
- (condition (error 'usocket-error
- :real-condition condition
- :socket socket))))
+ (simple-error (error 'unknown-error
+ :real-condition condition
+ :socket socket))))
(defun socket-connect (host port &optional (type :stream))
(let* ((socket (ext:connect-to-inet-socket (host-byte-order host) port type))
More information about the usocket-cvs
mailing list