Hi, RME
在 2010-1-14,02:51, R. Matthew Emerson 写道:
Committed as r520 [1], thanks.
Note that I'm not familiar with usocket---there may well be a better way.
For instance, the patch doesn't set the host-or-ip slot of the condition object to the host or ip address for which the lookup failed. (In fact, it just sets it to nil for lack of anything better).
Presumably this won't be an issue since the caller already knows what remote host it tried to connect to. One other possibility might be to handle ccl:socket-creation-error in get-host-by-address and get-hosts-by-name---that way the address or name would be lexically available to include in the ns-condition object.
Yes you're right, the WITH-MAPPED-CONDITIONS / HANDLE-CONDITION interfaces didn't leave us a chance to pass the raw host/port data instead of a created usocket object, when the conditions throwing on socket creating. Considering this won't be a big issue as you already said, I think it's better to leave it as is, until we have a better condition passing design in the future. Touching GET-HOST-BY-NAME is not a perfect design, I think, as people may use this function separately and expecting the behavior like before.
On the other side, I'm living in China, in which any hostname is resolvable: ISP is hijacking DNS query packets so that every unsolvable hostname could be redirected to a default address for holding ISP's ads. Any way, I think I don't have any chance to test CCL's this new facility ...
--binghe
Anyway, thanks. If there are bugs or omissions in CCL that affect usocket (or enhancements to CCL that would make it work better), please feel free to make tickets at http://trac.clozure.com/ccl