Dmitri Hrapof
2006-01-05 16:03:17 UTC
Hello!
I'm using add-fd-handler in my server,
and everything works in raw terminal.
However, when I start server from Slime,
I have to call (SB-IMPL::SERVE-EVENT) manually to
get my callbacks called and client's request
answered.
Is this expected behaviour?
What is idiomatic solution? It seems to me
I've done everything as Araneida does:
(defun make-repl-friendly (s)
(when *repl-friendly*
(%SYSDEP
"adds callbacks for socket"
#+sbcl
(sb-sys:add-fd-handler
(sb-bsd-sockets:socket-file-descriptor s)
:input
#'(lambda (fd)
(declare (ignore fd))
(loop while (op:work_pending *the-orb*)
do (op:perform_work *the-orb*)))))))
Where should I dig?
Thanks, Dmitri
I'm using add-fd-handler in my server,
and everything works in raw terminal.
However, when I start server from Slime,
I have to call (SB-IMPL::SERVE-EVENT) manually to
get my callbacks called and client's request
answered.
Is this expected behaviour?
What is idiomatic solution? It seems to me
I've done everything as Araneida does:
(defun make-repl-friendly (s)
(when *repl-friendly*
(%SYSDEP
"adds callbacks for socket"
#+sbcl
(sb-sys:add-fd-handler
(sb-bsd-sockets:socket-file-descriptor s)
:input
#'(lambda (fd)
(declare (ignore fd))
(loop while (op:work_pending *the-orb*)
do (op:perform_work *the-orb*)))))))
Where should I dig?
Thanks, Dmitri