[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Signal on Memory volation
Am 14.09.2014, 18:47 Uhr, schrieb OL:
I have look a bit in Mint source code.
I not understand all but it look that form_alert() not come from
mintsetter but from mint itself in the function report_buserr()
My problem is if there is this error, the program is not killed but look
frozen, system still work, but if I want kill this program, the whole
system freeze.
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void *sigh( int sig )
{
printf( "signal %d\n", sig );
exit(1);
}
int main(void)
{
long *x = 0xff0033;
int sig;
for( sig = 0; sig < 31; sig++ )
signal( sig, (__Sigfunc)sigh );
*x = 4;
return 0;
}
I get:
signal 10
Which would be a bus-error ...
Without the handler it is a memory-violation:
19:54:27: PROCESS "memv" KILLED: MEMORY VIOLATION. (PID 034) Type:
hardware PC: 0172214C Addr: 00FF0033 BP: 01722000 OS: 0000004C
In any case the system continues.
I never use mintsetter or anything like that.
It's also possible your program destroyed the system before the
memory-violation is noticed.
-Helmut