mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 23:40:10 +01:00
trace: Only close trace files on exit.
Many applications don't exit cleanly, others may create and destroy a screen multiple times, so we only write </trace> tag and close at exit time.
This commit is contained in:
parent
74d1153c9c
commit
28e6a272fc
3 changed files with 4 additions and 18 deletions
|
|
@ -59,7 +59,6 @@
|
|||
|
||||
static boolean close_stream = FALSE;
|
||||
static FILE *stream = NULL;
|
||||
static unsigned refcount = 0;
|
||||
pipe_static_mutex(call_mutex);
|
||||
static long unsigned call_no = 0;
|
||||
static boolean dumping = FALSE;
|
||||
|
|
@ -234,7 +233,6 @@ trace_dump_trace_close(void)
|
|||
close_stream = FALSE;
|
||||
stream = NULL;
|
||||
}
|
||||
refcount = 0;
|
||||
call_no = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -283,15 +281,13 @@ trace_dump_trace_begin(void)
|
|||
trace_dump_writes("<?xml-stylesheet type='text/xsl' href='trace.xsl'?>\n");
|
||||
trace_dump_writes("<trace version='0.1'>\n");
|
||||
|
||||
#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE)
|
||||
/* Linux applications rarely cleanup GL / Gallium resources so catch
|
||||
* application exit here */
|
||||
/* Many applications don't exit cleanly, others may create and destroy a
|
||||
* screen multiple times, so we only write </trace> tag and close at exit
|
||||
* time.
|
||||
*/
|
||||
atexit(trace_dump_trace_close);
|
||||
#endif
|
||||
}
|
||||
|
||||
++refcount;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -300,13 +296,6 @@ boolean trace_dump_trace_enabled(void)
|
|||
return stream ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
void trace_dump_trace_end(void)
|
||||
{
|
||||
if(stream)
|
||||
if(!--refcount)
|
||||
trace_dump_trace_close();
|
||||
}
|
||||
|
||||
/*
|
||||
* Call lock
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ struct pipe_box;
|
|||
boolean trace_dump_trace_begin(void);
|
||||
boolean trace_dump_trace_enabled(void);
|
||||
void trace_dump_trace_flush(void);
|
||||
void trace_dump_trace_end(void);
|
||||
|
||||
/*
|
||||
* Lock and unlock the call mutex.
|
||||
|
|
|
|||
|
|
@ -427,7 +427,6 @@ trace_screen_destroy(struct pipe_screen *_screen)
|
|||
trace_dump_call_begin("pipe_screen", "destroy");
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_call_end();
|
||||
trace_dump_trace_end();
|
||||
|
||||
screen->destroy(screen);
|
||||
|
||||
|
|
@ -497,7 +496,6 @@ trace_screen_create(struct pipe_screen *screen)
|
|||
error2:
|
||||
trace_dump_ret(ptr, screen);
|
||||
trace_dump_call_end();
|
||||
trace_dump_trace_end();
|
||||
error1:
|
||||
return screen;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue