added more log options in std.c
This commit is contained in:
parent
3aa232ab3e
commit
8e507223c0
@ -166,28 +166,35 @@ class System(Apex)
|
|||||||
// TODO: Do i have to protected this in an exception handler???
|
// TODO: Do i have to protected this in an exception handler???
|
||||||
//TODO: Execute Handler for signo.
|
//TODO: Execute Handler for signo.
|
||||||
|
|
||||||
System logNl: "Interrupt dectected - signal no - " & signo asString.
|
System logNl: "Interrupt detected - signal no - " & signo asString.
|
||||||
|
|
||||||
|
System logNl: "WWWWWWWWWWWWWWWWWWWWWWWWW ".
|
||||||
// user-defined signal handler is not allowed for 16rFF
|
// user-defined signal handler is not allowed for 16rFF
|
||||||
if (signo == 16rFF) { goto done }.
|
if (signo == 16rFF) { goto done }.
|
||||||
|
System logNl: "OHHHHHHHHHHHHHH ".
|
||||||
|
|
||||||
ifnot (self.shr isEmpty)
|
ifnot (self.shr isEmpty)
|
||||||
{
|
{
|
||||||
|
System logNl: "About to execute handler for the signal detected - " & signo asString.
|
||||||
self.shr do: [ :handler | handler value: signo ].
|
self.shr do: [ :handler | handler value: signo ].
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
System logNl: "Jumping to done detected - signal no - " & signo asString.
|
||||||
if (signo == 2) { goto done }.
|
if (signo == 2) { goto done }.
|
||||||
}.
|
}.
|
||||||
}.
|
}.
|
||||||
|
System logNl: "Waiting for signal on os_intr_sem...".
|
||||||
os_intr_sem wait.
|
os_intr_sem wait.
|
||||||
}.
|
}.
|
||||||
done:
|
done:
|
||||||
|
System logNl: "Jumped to done detected - signal no - " & signo asString.
|
||||||
nil.
|
nil.
|
||||||
]
|
]
|
||||||
ensure: [
|
ensure: [
|
||||||
| pid proc oldps |
|
| pid proc oldps |
|
||||||
|
|
||||||
|
System logNl: "Aborting signal handler......".
|
||||||
// stop subscribing to signals.
|
// stop subscribing to signals.
|
||||||
os_intr_sem signal.
|
os_intr_sem signal.
|
||||||
os_intr_sem unsignal.
|
os_intr_sem unsignal.
|
||||||
|
@ -1105,26 +1105,26 @@ struct moo_dbgi_method_t
|
|||||||
|
|
||||||
enum moo_log_mask_t
|
enum moo_log_mask_t
|
||||||
{
|
{
|
||||||
MOO_LOG_DEBUG = (1u << 0),
|
MOO_LOG_DEBUG = ((moo_bitmask_t)1 << 0),
|
||||||
MOO_LOG_INFO = (1u << 1),
|
MOO_LOG_INFO = ((moo_bitmask_t)1 << 1),
|
||||||
MOO_LOG_WARN = (1u << 2),
|
MOO_LOG_WARN = ((moo_bitmask_t)1 << 2),
|
||||||
MOO_LOG_ERROR = (1u << 3),
|
MOO_LOG_ERROR = ((moo_bitmask_t)1 << 3),
|
||||||
MOO_LOG_FATAL = (1u << 4),
|
MOO_LOG_FATAL = ((moo_bitmask_t)1 << 4),
|
||||||
|
|
||||||
MOO_LOG_UNTYPED = (1u << 6), /* only to be used by MOO_DEBUGx() and MOO_INFOx() */
|
MOO_LOG_UNTYPED = ((moo_bitmask_t)1 << 6), /* only to be used by MOO_DEBUGx() and MOO_INFOx() */
|
||||||
MOO_LOG_COMPILER = (1u << 7),
|
MOO_LOG_COMPILER = ((moo_bitmask_t)1 << 7),
|
||||||
MOO_LOG_VM = (1u << 8),
|
MOO_LOG_VM = ((moo_bitmask_t)1 << 8),
|
||||||
MOO_LOG_MNEMONIC = (1u << 9), /* bytecode mnemonic */
|
MOO_LOG_MNEMONIC = ((moo_bitmask_t)1 << 9), /* bytecode mnemonic */
|
||||||
MOO_LOG_GC = (1u << 10),
|
MOO_LOG_GC = ((moo_bitmask_t)1 << 10),
|
||||||
MOO_LOG_IC = (1u << 11), /* instruction cycle, fetch-decode-execute */
|
MOO_LOG_IC = ((moo_bitmask_t)1 << 11), /* instruction cycle, fetch-decode-execute */
|
||||||
MOO_LOG_PRIMITIVE = (1u << 12),
|
MOO_LOG_PRIMITIVE = ((moo_bitmask_t)1 << 12),
|
||||||
MOO_LOG_APP = (1u << 13), /* moo applications, set by moo logging primitive */
|
MOO_LOG_APP = ((moo_bitmask_t)1 << 13), /* moo applications, set by moo logging primitive */
|
||||||
|
|
||||||
MOO_LOG_ALL_LEVELS = (MOO_LOG_DEBUG | MOO_LOG_INFO | MOO_LOG_WARN | MOO_LOG_ERROR | MOO_LOG_FATAL),
|
MOO_LOG_ALL_LEVELS = (MOO_LOG_DEBUG | MOO_LOG_INFO | MOO_LOG_WARN | MOO_LOG_ERROR | MOO_LOG_FATAL),
|
||||||
MOO_LOG_ALL_TYPES = (MOO_LOG_UNTYPED | MOO_LOG_COMPILER | MOO_LOG_VM | MOO_LOG_MNEMONIC | MOO_LOG_GC | MOO_LOG_IC | MOO_LOG_PRIMITIVE | MOO_LOG_APP),
|
MOO_LOG_ALL_TYPES = (MOO_LOG_UNTYPED | MOO_LOG_COMPILER | MOO_LOG_VM | MOO_LOG_MNEMONIC | MOO_LOG_GC | MOO_LOG_IC | MOO_LOG_PRIMITIVE | MOO_LOG_APP),
|
||||||
|
|
||||||
MOO_LOG_STDOUT = (1u << 14), /* write log messages to stdout without timestamp. MOO_LOG_STDOUT wins over MOO_LOG_STDERR. */
|
MOO_LOG_STDOUT = ((moo_bitmask_t)1 << 14), /* write log messages to stdout without timestamp. MOO_LOG_STDOUT wins over MOO_LOG_STDERR. */
|
||||||
MOO_LOG_STDERR = (1u << 15) /* write log messages to stderr without timestamp. */
|
MOO_LOG_STDERR = ((moo_bitmask_t)1 << 15) /* write log messages to stderr without timestamp. */
|
||||||
};
|
};
|
||||||
typedef enum moo_log_mask_t moo_log_mask_t;
|
typedef enum moo_log_mask_t moo_log_mask_t;
|
||||||
|
|
||||||
|
@ -3958,29 +3958,42 @@ static LONG WINAPI msw_exception_filter (struct _EXCEPTION_POINTERS* exinfo)
|
|||||||
static struct
|
static struct
|
||||||
{
|
{
|
||||||
const char* name;
|
const char* name;
|
||||||
|
int op;
|
||||||
moo_bitmask_t mask;
|
moo_bitmask_t mask;
|
||||||
} log_mask_table[] =
|
} log_mask_table[] =
|
||||||
{
|
{
|
||||||
{ "app", MOO_LOG_APP },
|
{ "app", 0, MOO_LOG_APP },
|
||||||
{ "compiler", MOO_LOG_COMPILER },
|
{ "compiler", 0, MOO_LOG_COMPILER },
|
||||||
{ "vm", MOO_LOG_VM },
|
{ "vm", 0, MOO_LOG_VM },
|
||||||
{ "mnemonic", MOO_LOG_MNEMONIC },
|
{ "mnemonic", 0, MOO_LOG_MNEMONIC },
|
||||||
{ "gc", MOO_LOG_GC },
|
{ "gc", 0, MOO_LOG_GC },
|
||||||
{ "ic", MOO_LOG_IC },
|
{ "ic", 0, MOO_LOG_IC },
|
||||||
{ "primitive", MOO_LOG_PRIMITIVE },
|
{ "primitive", 0, MOO_LOG_PRIMITIVE },
|
||||||
{ "all", MOO_LOG_ALL_TYPES },
|
{ "all", 0, MOO_LOG_ALL_TYPES },
|
||||||
|
|
||||||
{ "fatal", MOO_LOG_FATAL },
|
{ "fatal", 0, MOO_LOG_FATAL },
|
||||||
{ "error", MOO_LOG_ERROR },
|
{ "error", 0, MOO_LOG_ERROR },
|
||||||
{ "warn", MOO_LOG_WARN },
|
{ "warn", 0, MOO_LOG_WARN },
|
||||||
{ "info", MOO_LOG_INFO },
|
{ "info", 0, MOO_LOG_INFO },
|
||||||
{ "debug", MOO_LOG_DEBUG },
|
{ "debug", 0, MOO_LOG_DEBUG },
|
||||||
|
|
||||||
{ "fatal+", MOO_LOG_FATAL },
|
{ "fatal+", 0, MOO_LOG_FATAL },
|
||||||
{ "error+", MOO_LOG_FATAL | MOO_LOG_ERROR },
|
{ "error+", 0, MOO_LOG_FATAL | MOO_LOG_ERROR },
|
||||||
{ "warn+", MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN },
|
{ "warn+", 0, MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN },
|
||||||
{ "info+", MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN | MOO_LOG_INFO },
|
{ "info+", 0, MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN | MOO_LOG_INFO },
|
||||||
{ "debug+", MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN | MOO_LOG_INFO | MOO_LOG_DEBUG }
|
{ "debug+", 0, MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN | MOO_LOG_INFO | MOO_LOG_DEBUG },
|
||||||
|
|
||||||
|
{ "fatal-", 0, MOO_LOG_FATAL | MOO_LOG_ERROR | MOO_LOG_WARN | MOO_LOG_INFO | MOO_LOG_DEBUG },
|
||||||
|
{ "error-", 0, MOO_LOG_ERROR | MOO_LOG_WARN | MOO_LOG_INFO | MOO_LOG_DEBUG },
|
||||||
|
{ "warn-", 0, MOO_LOG_WARN | MOO_LOG_INFO | MOO_LOG_DEBUG },
|
||||||
|
{ "info-", 0, MOO_LOG_INFO | MOO_LOG_DEBUG },
|
||||||
|
{ "debug-", 0, MOO_LOG_DEBUG },
|
||||||
|
|
||||||
|
{ "-fatal", 1, ~MOO_LOG_FATAL },
|
||||||
|
{ "-error", 1, ~MOO_LOG_ERROR },
|
||||||
|
{ "-warn", 1, ~MOO_LOG_WARN },
|
||||||
|
{ "-info", 1, ~MOO_LOG_INFO },
|
||||||
|
{ "-debug", 1, ~MOO_LOG_DEBUG },
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct
|
static struct
|
||||||
@ -4021,6 +4034,9 @@ static int parse_logoptb (moo_t* moo, const moo_bch_t* str, moo_oow_t* xpathlen,
|
|||||||
{
|
{
|
||||||
if (moo_comp_bchars_bcstr(flt, len, log_mask_table[i].name) == 0)
|
if (moo_comp_bchars_bcstr(flt, len, log_mask_table[i].name) == 0)
|
||||||
{
|
{
|
||||||
|
if (log_mask_table[i].op)
|
||||||
|
logmask &= log_mask_table[i].mask;
|
||||||
|
else
|
||||||
logmask |= log_mask_table[i].mask;
|
logmask |= log_mask_table[i].mask;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -4076,6 +4092,9 @@ static int parse_logoptu (moo_t* moo, const moo_uch_t* str, moo_oow_t* xpathlen,
|
|||||||
{
|
{
|
||||||
if (moo_comp_uchars_bcstr(flt, len, log_mask_table[i].name) == 0)
|
if (moo_comp_uchars_bcstr(flt, len, log_mask_table[i].name) == 0)
|
||||||
{
|
{
|
||||||
|
if (log_mask_table[i].op)
|
||||||
|
logmask &= log_mask_table[i].mask;
|
||||||
|
else
|
||||||
logmask |= log_mask_table[i].mask;
|
logmask |= log_mask_table[i].mask;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user