1
2
3
4
5
6
7
8
9
10 gcos_abs_control: proc;
11
12
13
14
15
16
17
18
19
20
21
22
23 dcl (
24 code
25 ) fixed bin (35) aligned;
26
27 dcl (
28 gcos_daemon_stat_$overflow_channel ext
29 ) fixed bin (71) aligned;
30
31
32
33
34 dcl (
35 gcos_daemon_stat_$process_id ext
36 ) bit (36) aligned;
37
38
39
40
41 dcl (
42 gcos_daemon_stat2_$overflow_dir ext
43 ) char (168) aligned;
44
45
46
47
48 dcl (
49 cleanup,
50 record_quota_overflow
51 ) condition;
52
53
54
55
56 dcl get_wdir_ ext entry
57 returns (char (168) aligned);
58
59 dcl hcs_$wakeup ext entry
60 (bit (36) aligned, fixed bin (71) aligned, fixed bin (71) aligned, fixed bin (35) aligned);
61
62 dcl listen_$release_stack ext entry
63 (bit (1) aligned);
64
65 dcl logout ext entry;
66
67
68
69 on condition (record_quota_overflow)
70 begin;
71
72 gcos_daemon_stat2_$overflow_dir = get_wdir_ ();
73
74 call hcs_$wakeup (gcos_daemon_stat_$process_id, gcos_daemon_stat_$overflow_channel, 0, code);
75
76
77 call logout;
78
79 end;
80
81 next: on condition (cleanup) go to next;
82 call listen_$release_stack ("0"b);
83
84 return;
85
86 end gcos_abs_control;