mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 04:36:20 +00:00
Some cleanups, more debugging info
Original commit message from CVS: Some cleanups, more debugging info
This commit is contained in:
parent
608589ef0d
commit
e4637a0a82
1 changed files with 9 additions and 7 deletions
|
@ -33,6 +33,7 @@
|
||||||
#include "cothreads.h"
|
#include "cothreads.h"
|
||||||
#include "gstarch.h"
|
#include "gstarch.h"
|
||||||
#include "gstlog.h"
|
#include "gstlog.h"
|
||||||
|
#include "gstutils.h"
|
||||||
|
|
||||||
|
|
||||||
#define STACK_SIZE 0x200000
|
#define STACK_SIZE 0x200000
|
||||||
|
@ -86,7 +87,7 @@ cothread_context_init (void)
|
||||||
|
|
||||||
memset (ctx->threads, 0, sizeof (ctx->threads));
|
memset (ctx->threads, 0, sizeof (ctx->threads));
|
||||||
|
|
||||||
ctx->threads[0] = (cothread_state *) g_malloc (sizeof (cothread_state));
|
ctx->threads[0] = (cothread_state *) g_malloc0 (sizeof (cothread_state));
|
||||||
ctx->threads[0]->ctx = ctx;
|
ctx->threads[0]->ctx = ctx;
|
||||||
ctx->threads[0]->threadnum = 0;
|
ctx->threads[0]->threadnum = 0;
|
||||||
ctx->threads[0]->func = NULL;
|
ctx->threads[0]->func = NULL;
|
||||||
|
@ -491,21 +492,22 @@ cothread_switch (cothread_state * thread)
|
||||||
#endif
|
#endif
|
||||||
enter = setjmp (current->jmp);
|
enter = setjmp (current->jmp);
|
||||||
if (enter != 0) {
|
if (enter != 0) {
|
||||||
GST_DEBUG (0, "enter thread #%d %d %p<->%p (%d)", current->threadnum, enter,
|
GST_DEBUG (0, "enter thread #%d %d %p<->%p (%d) %p", current->threadnum, enter,
|
||||||
current->sp, current->top_sp, (char*)current->top_sp - (char*)current->sp);
|
current->sp, current->top_sp, (char*)current->top_sp - (char*)current->sp, current->jmp);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GST_DEBUG (0, "exit thread #%d %d %p<->%p (%d)", current->threadnum, enter,
|
GST_DEBUG (0, "exit thread #%d %d %p<->%p (%d) %p", current->threadnum, enter,
|
||||||
current->sp, current->top_sp, (char*)current->top_sp - (char*)current->sp);
|
current->sp, current->top_sp, (char*)current->top_sp - (char*)current->sp, current->jmp);
|
||||||
enter = 1;
|
enter = 1;
|
||||||
|
|
||||||
if (current->flags & COTHREAD_DESTROYED)
|
if (current->flags & COTHREAD_DESTROYED) {
|
||||||
cothread_destroy (current);
|
cothread_destroy (current);
|
||||||
|
}
|
||||||
|
|
||||||
GST_DEBUG (0, "set stack to %p", thread->sp);
|
GST_DEBUG (0, "set stack to %p", thread->sp);
|
||||||
/* restore stack pointer and other stuff of new cothread */
|
/* restore stack pointer and other stuff of new cothread */
|
||||||
if (thread->flags & COTHREAD_STARTED) {
|
if (thread->flags & COTHREAD_STARTED) {
|
||||||
GST_DEBUG (0, "in thread ");
|
GST_DEBUG (0, "in thread %p", thread->jmp);
|
||||||
/* switch to it */
|
/* switch to it */
|
||||||
longjmp (thread->jmp, 1);
|
longjmp (thread->jmp, 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue