mirror of https://github.com/mgba-emu/mgba.git
Core: Create mThreadLogger
This commit is contained in:
parent
b619ebf965
commit
5c81fc76d2
|
@ -15,7 +15,9 @@ enum mLogLevel {
|
|||
mLOG_INFO = 0x08,
|
||||
mLOG_DEBUG = 0x10,
|
||||
mLOG_STUB = 0x20,
|
||||
mLOG_GAME_ERROR = 0x40
|
||||
mLOG_GAME_ERROR = 0x40,
|
||||
|
||||
mLOG_ALL = 0x7F
|
||||
};
|
||||
|
||||
struct mLogger {
|
||||
|
|
|
@ -142,6 +142,7 @@ static THREAD_ENTRY _mCoreThreadRun(void* context) {
|
|||
|
||||
bool mCoreThreadStart(struct mCoreThread* threadContext) {
|
||||
threadContext->state = THREAD_INITIALIZED;
|
||||
threadContext->logger.p = threadContext;
|
||||
|
||||
MutexInit(&threadContext->stateMutex);
|
||||
ConditionInit(&threadContext->stateCond);
|
||||
|
@ -380,19 +381,19 @@ struct mCoreThread* mCoreThreadGet(void) {
|
|||
#endif
|
||||
|
||||
static void _mCoreLog(struct mLogger* logger, int category, enum mLogLevel level, const char* format, va_list args) {
|
||||
UNUSED(logger);
|
||||
printf("%s: ", mLogCategoryName(category));
|
||||
vprintf(format, args);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
struct mLogger* mCoreThreadLogger(void) {
|
||||
struct mCoreThread* thread = mCoreThreadGet();
|
||||
if (thread) {
|
||||
if (!thread->logger.log) {
|
||||
thread->logger.log = _mCoreLog;
|
||||
if (!thread->logger.d.log) {
|
||||
thread->logger.d.log = _mCoreLog;
|
||||
}
|
||||
return &thread->logger;
|
||||
return &thread->logger.d;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -31,6 +31,12 @@ enum mCoreThreadState {
|
|||
THREAD_CRASHED
|
||||
};
|
||||
|
||||
struct mCoreThread;
|
||||
struct mThreadLogger {
|
||||
struct mLogger d;
|
||||
struct mCoreThread* p;
|
||||
};
|
||||
|
||||
struct mCoreThread {
|
||||
// Input
|
||||
struct mCore* core;
|
||||
|
@ -45,7 +51,7 @@ struct mCoreThread {
|
|||
int interruptDepth;
|
||||
bool frameWasOn;
|
||||
|
||||
struct mLogger logger;
|
||||
struct mThreadLogger logger;
|
||||
enum mLogLevel logLevel;
|
||||
ThreadCallback startCallback;
|
||||
ThreadCallback cleanCallback;
|
||||
|
|
Loading…
Reference in New Issue