2004-05-12
2004-05-12 17:41:18 by Martin Stjernholm <mast@lysator.liu.se>
-
a7ed5860bc0c3ba833d1b1e5e1713f146b307d56
(11 lines)
(+10/-1)
[
Show
| Annotate
]
Branch: 5.2
Safed the request trace functions for destructed id objects.
Rev: server/etc/modules/Roxen.pmod:1.175
1:
// This is a roxen pike module. Copyright © 1999 - 2001, Roxen IS.
//
- // $Id: Roxen.pmod,v 1.174 2004/05/05 21:19:22 mast Exp $
+ // $Id: Roxen.pmod,v 1.175 2004/05/12 17:41:18 mast Exp $
#include <roxen.h>
#include <config.h>
3806: Inside #if defined(REQUEST_TRACE)
void trace_enter (RequestID id, string msg, object|function thing)
{
+ // Necessary since requests can finish and be destructed
+ // asynchronously.
+ if (!id) return;
+
if (!id->misc->trace_level) {
id->misc->trace_id_prefix = ({"%%", "##", "§§", "**", "@@", "$$", "¤¤"})[
all_constants()->id_trace_level_rotate_counter++ % 7];
3844:
void trace_leave (RequestID id, string desc)
{
+ // Necessary since requests can finish and be destructed
+ // asynchronously.
+ if (!id) return;
+
if (id->misc->trace_level) id->misc->trace_level--;
if (sizeof (desc)) trace_msg (id, desc, "");