Hi,
I am using TBNL on CMUCL 19c. If I create a new thread (using #'mp:make-process), what will happen if an exception is signalled (and not handled) in that thread? Will tbnl log the error? And If tbnl:*show-lisp-backtraces-p* it t, will it display the backtrace from that thread?
Basically I just want that any error or warning signalled by that thread should be logged by tbnl, and if necessary, the backtrace shown in the browser window. What is the best way to do it?
Thanks, Chaitanya
On Sat, 9 Sep 2006 15:30:58 +0530, "Chaitanya Gupta" mail@chaitanyagupta.com wrote:
I am using TBNL on CMUCL 19c. If I create a new thread (using #'mp:make-process), what will happen if an exception is signalled (and not handled) in that thread?
YOU create that thread? Manually? Or are you talking about threads that are created by TBNL?
Will tbnl log the error? And If tbnl:*show-lisp-backtraces-p* it t, will it display the backtrace from that thread?
Basically I just want that any error or warning signalled by that thread should be logged by tbnl, and if necessary, the backtrace shown in the browser window. What is the best way to do it?
Hmm, I think the best way is to just try it. Or to read the documentation. Either I don't unerstand your question correctly or you haven't read the relevant parts of the manual.
On 9/11/06, Edi Weitz edi@agharta.de wrote:
On Sat, 9 Sep 2006 15:30:58 +0530, "Chaitanya Gupta" mail@chaitanyagupta.com wrote:
I am using TBNL on CMUCL 19c. If I create a new thread (using #'mp:make-process), what will happen if an exception is signalled (and not handled) in that thread?
YOU create that thread? Manually? Or are you talking about threads that are created by TBNL?
I create that thread manually. What I want is that whenever a request is made to some URL, a string should be returned immediately while processing goes in Lisp. For this I create a new thread using mp:make-process in the handler function, and then this function returns the string.
Will tbnl log the error? And If tbnl:*show-lisp-backtraces-p* it t, ... shown in the browser window. What is the best way to do it?
Hmm, I think the best way is to just try it. Or to read the documentation. Either I don't unerstand your question correctly or you haven't read the relevant parts of the manual.
From what I have seen, TBNL doesn't log any errors for the new thread
created. I get a new debugger window in SLIME everytime there's any error in the new thread created. Is there anyway I can make TBNL log these errors too?
Thanks, Chaitanya
On Mon, 11 Sep 2006 17:06:21 +0530, "Chaitanya Gupta" mail@chaitanyagupta.com wrote:
I create that thread manually. What I want is that whenever a request is made to some URL, a string should be returned immediately while processing goes in Lisp. For this I create a new thread using mp:make-process in the handler function, and then this function returns the string.
Ah, OK, I see.
From what I have seen, TBNL doesn't log any errors for the new thread created. I get a new debugger window in SLIME everytime there's any error in the new thread created. Is there anyway I can make TBNL log these errors too?
Not automatically, because the HANDLER-BIND which TBNL wraps around the request handler doesn't extend to other threads. You will have to wrap another HANDLER-BIND around your new thread yourself which might look pretty similar to the one in modlisp.lisp.
Cheers, Edi.
Edi Weitz wrote:
On Mon, 11 Sep 2006 17:06:21 +0530, "Chaitanya Gupta" mail@chaitanyagupta.com wrote:
From what I have seen, TBNL doesn't log any errors for the new thread created. I get a new debugger window in SLIME everytime there's any error in the new thread created. Is there anyway I can make TBNL log these errors too?
Not automatically, because the HANDLER-BIND which TBNL wraps around the request handler doesn't extend to other threads. You will have to wrap another HANDLER-BIND around your new thread yourself which might look pretty similar to the one in modlisp.lisp.
Ok, thanks. I will check that out.
Chaitanya