Ticket #238: exceptq.c

File exceptq.c, 824 bytes (added by Yuri Dario, 13 years ago)
Line 
1
2#include <stdio.h>
3
4#define INCL_DOS
5#include <os2.h>
6#define INCL_LOADEXCEPTQ
7#include "exceptq.h"
8
9
10void main(void)
11{
12        int a=1, b=0;
13        int pid;
14        int status;
15
16        EXCEPTIONREGISTRATIONRECORD exRegRec;
17        LoadExceptq(&exRegRec, "");
18
19        printf("loaded\n");
20        pid = fork();
21        printf("forked %d\n", pid);
22        if (pid == 0) {
23// uncomment to trap excetion
24//              EXCEPTIONREGISTRATIONRECORD exRegRecC;
25//              LoadExceptqAlways(&exRegRecC, "");
26                printf("forked child pid %d\n", getpid());
27
28                // crashme
29                printf("crash %d\n", a/b);
30
31// uncomment to trap excetion
32//              UninstallExceptq(&exRegRecC);
33        }
34        wait(&status);
35
36        // uncomment this to get TWO (if above enabled) exception reports, one for parent one for child.
37        // printf("crash %d\n", a/b);
38
39        UninstallExceptq(&exRegRec);
40        printf("unloaded\n");
41}
42