Hi, Anton No, the form passed to SOCKET-STATUS *DO NOT* depend on READY-ONLY (note: it's READY-ONLY, not READ-ONLY).
Actually, all your patch does was the status updating "after" CLISP's SOCKET-STATUS returned. This means, if a socket do have some inputs are waiting for read, CLISP's SOCKET-STATUS can definitely normally return, even without your patch. As far as I know, many USOCKET users (or packages) were using WAIT-FOR-INPUT in a trivial way (including me): they send something to one socket, and call WAIT-FOR-INPUT on it (without READY-ONLY), never care the return value or the STATE slot of usocket object, and the buggy W-F-I just works for many years ... until Hunchentoot users start to run it on CLISP ... On the other hand, what you patched is more valuable when (:READY-ONLY T) was added when calling W-F-I. Your patch caused the STATE slot from multiple usocket objects were updated correctly, and W-F-I will just return those sockets who can be read (this logic appears in the implementation of W-F-I itself in usocket.lisp, code shared by all backends). So, I think your patch is just enough. Thanks again! --binghe 在 2011-4-10,23:16, Anton Vodonosov 写道: > > > 10.04.2011, 18:39, "Chun Tian (binghe)" <binghe.l...@gmail.com>: >> Hi, Anton >> >> Thank you very much for looking into this issue and finally fixed it! >> I believe this also closed another open issue reported by other users on >> Hunchentoot >> mailing list, in which they have to disable the use of READY-ONLY >> argument when calling WAIT-FOR-INPUT. >> > > Dos the form of the argument passed to the CLISP function > socket:socket-status depend on the usocket parameter READ-ONLY? > (the variable REQUEST-LIST in the WAIT-FOR-INPUT-INTERNAL code) > > I mean, if changing the READ-ONLY argument made the old code > working, i.e. (pop status-list) was sufficient, then the new > code should take this into account. > > What is the value of the REQUEST-LIST variable? > > Best regards, > - Anton _______________________________________________ usocket-devel mailing list usocket-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel