[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