Yuan Fu
Yuan Fu
Ok, so the problem is in cl+ssl: ``` (defun make-ssl-server-stream (socket &key certificate key password method external-format close-callback (unwrap-stream-p t) (cipher-list *default-cipher-list*)) "Returns an SSL stream for the server socket...
I don't know much about how all these works, but I think it might be a different timeout. The code path is `cl+ssl:stream-read-byte` -> `cl+ssl:ensure-ssl-funcall` -> `input-wait` -> `sb-sys:wait-until-fd-usable`.
> @casouri , the make-ssl-server-stream is not part of the stacktrace you provided. So in this scenario it's irrelevant (maybe in another scenario it is relevant). Though `make-ssl-server-stream` creates the...
Yes, more or less. I have patched it up like this: ``` (defmethod initialize-connection-stream :around ((acceptor ssl-acceptor) stream) (let ((ssl-stream (call-next-method acceptor stream))) (setf (cl+ssl::ssl-stream-deadline ssl-stream) (+ (get-internal-real-time) (* internal-time-units-per-second...
Actually that's only a patch, it doesn't use the `:timeout` of the socket. I'll look into it further.
Ok, here: ``` (defmethod initialize-connection-stream ((acceptor ssl-acceptor) stream) ;; attach SSL to the stream if necessary (let ((ssl-stream (cl+ssl:make-ssl-server-stream stream :certificate (acceptor-ssl-certificate-file acceptor) :key (acceptor-ssl-privatekey-file acceptor) :password (acceptor-ssl-privatekey-password acceptor)))) (setf...
Thanks for taking the time!
You should raise that over cl+ssl/usocket, there is nothing hunchentoot can do. In the mean time, hunchentoot need to fix this problem to be useable, regardless how "ugly" you think...
tree-sitter should provide means to replace memory allocation functions at _runtime_. This allows us to link to tree-sitter as a library instead of embedding it.