94 |
} \ |
} \ |
95 |
while (0) |
while (0) |
96 |
|
|
97 |
#define TOTALLY_UNBLOCK_INPUT (interrupt_input_blocked = 0) |
/* Undo any number of BLOCK_INPUT calls, |
98 |
|
and also reinvoke any pending signal. */ |
99 |
|
|
100 |
|
#define TOTALLY_UNBLOCK_INPUT \ |
101 |
|
if (interrupt_input_blocked != 0) \ |
102 |
|
{ \ |
103 |
|
interrupt_input_blocked = 1; \ |
104 |
|
UNBLOCK_INPUT; \ |
105 |
|
} \ |
106 |
|
else |
107 |
|
|
108 |
|
/* Undo any number of BLOCK_INPUT calls down to level LEVEL, |
109 |
|
and also (if the level is now 0) reinvoke any pending signal. */ |
110 |
|
|
111 |
|
#define UNBLOCK_INPUT_TO(LEVEL) \ |
112 |
|
do \ |
113 |
|
{ \ |
114 |
|
int oldlevel = interrupt_input_blocked; \ |
115 |
|
interrupt_input_blocked = (LEVEL) + 1; \ |
116 |
|
if (interrupt_input_blocked != oldlevel + 1) \ |
117 |
|
UNBLOCK_INPUT; \ |
118 |
|
} \ |
119 |
|
while (0) |
120 |
|
|
121 |
#define UNBLOCK_INPUT_RESIGNAL UNBLOCK_INPUT |
#define UNBLOCK_INPUT_RESIGNAL UNBLOCK_INPUT |
122 |
|
|
123 |
/* In critical section ? */ |
/* In critical section ? */ |