示例#1
0
void EiC_term_int(int i)
{
    signal(SIGINT, EiC_term_int);
    errStr("EiC interrupted");
    if(jmpOn && jmpOn++ <= 1)
        longjmp(env,Err_);
    else
        eic_disaster();
}
示例#2
0
void EiC_float_err(int i)
{
    signal(SIGFPE, EiC_float_err);
    errStr("EiC maths  exception");
    if(jmpOn && jmpOn++ <= 1)
        longjmp(env,Err_);
    else
        eic_disaster();
}
示例#3
0
void EiC_stor_access(int i)
{
    signal(SIGSEGV, EiC_stor_access);
    errStr("EiC illegal storage access");
    if(jmpOn && jmpOn++ <= 1)  {
        longjmp(env,Err_);
    } else
        eic_disaster();
}
示例#4
0
void  EiC_ill_oper(int i)
{
    signal(SIGILL, EiC_ill_oper);
    errStr("EiC illegal operation attempted\n");
    if(jmpOn && jmpOn++ <= 1)
        longjmp(env,Err_);
    else
        eic_disaster();
}
示例#5
0
void EiC_exit_call(int i)
{
#ifndef _SEIC_
    size_t fopen_entry = fopen_NextEntryNum();
#if defined(WIN32) || defined(_DJGPP)
    signal(SIGTERM, EiC_exit_call);
#else
    signal(SIGUSR1, EiC_exit_call);
#endif
    _ffexit(fopen_entry);
    if(jmpOn && jmpOn++ <= 1)
        longjmp(env,Exit_);
    else
        eic_disaster();
#else
    eic_disaster();
#endif
}
示例#6
0
void EiC_exit_call(int i)
{
#ifndef _SEIC_
    size_t fopen_entry = fopen_NextEntryNum(); 
#if !defined(_WIN32_WCE) //maks
#if defined(WIN32) || defined(_DJGPP)
    signal(SIGTERM, EiC_exit_call);
#elif !defined(__SYMBIAN32__)
    signal(SIGUSR1, EiC_exit_call);
#endif
	_ffexit(/*fopen_entry*/); //maks
#endif
    
    if(jmpOn && jmpOn++ <= 1)
      longjmp(env,Exit_);
    else
	eic_disaster();
#else
    eic_disaster();
#endif
}
示例#7
0
void  EiC_bus_err(int i)
{

#if defined(WIN32) || defined(_DJGPP)
    signal(SIGABRT,EiC_bus_err);
#else
    signal(SIGBUS, EiC_bus_err);
#endif
    errStr("EiC bus error trapped");
    if(jmpOn && jmpOn++ <= 1)
        longjmp(env,Err_);
    else
        eic_disaster();
}
示例#8
0
void EiC_term_int(int i)
{
#if !defined(__SYMBIAN32__) && !defined(_WIN32_WCE) //maks
    signal(SIGINT, EiC_term_int);
#endif

#ifndef STAND_ALONE_GAME
    errStr("EiC interrupted");
#endif

    if(jmpOn && jmpOn++ <= 1)
      longjmp(env,Err_);
    else
      eic_disaster();
}
示例#9
0
void EiC_float_err(int i)
{
#if !defined(__SYMBIAN32__) && !defined(_WIN32_WCE) //maks
    signal(SIGFPE, EiC_float_err);
#endif

#ifndef STAND_ALONE_GAME
    errStr("EiC Maths  exception"); //maks
#endif

    if(jmpOn && jmpOn++ <= 1)
      longjmp(env,Err_);
    else
      eic_disaster();
}
示例#10
0
void EiC_stor_access(int i)
{
#if !defined(__SYMBIAN32__) && !defined(_WIN32_WCE) //maks
    signal(SIGSEGV, EiC_stor_access);
#endif

#ifndef STAND_ALONE_GAME
    errStr("EiC Illegal storage access"); //maks
#endif

    if(jmpOn && jmpOn++ <= 1)  {
	longjmp(env,Err_);
    } else
	eic_disaster();
}
示例#11
0
void  EiC_ill_oper(int i)
{
#if !defined(__SYMBIAN32__) && !defined(_WIN32_WCE) //maks
    signal(SIGILL, EiC_ill_oper);
#endif

#ifndef STAND_ALONE_GAME
    errStr("EiC Illegal operation attempted\n"); //maks
#endif

    if(jmpOn && jmpOn++ <= 1)
      longjmp(env,Err_);
    else
      eic_disaster();
}
示例#12
0
void  EiC_bus_err(int i)
{

#if !defined(_WIN32_WCE) //maks
#if defined(WIN32) || defined(_DJGPP)
    signal(SIGABRT,EiC_bus_err);
#elif !defined(__SYMBIAN32__) //maks
    signal(SIGBUS, EiC_bus_err);
#endif
#endif

#ifndef STAND_ALONE_GAME
    errStr("EiC bus error trapped");
#endif

    if(jmpOn && jmpOn++ <= 1)
      longjmp(env,Err_);
    else
      eic_disaster();
}