Lines 152-165
inline int xp_wait_until_condition(struc
Link Here
|
152 |
|
152 |
|
153 |
if (allow_interrupt) |
153 |
if (allow_interrupt) |
154 |
{ |
154 |
{ |
155 |
return wait_event_interruptible(queue->queue, cfunction(cparam) != 0); |
155 |
wait_event_interruptible(queue->queue, cfunction(cparam) != 0); |
156 |
} |
156 |
} |
157 |
else |
157 |
else |
158 |
{ |
158 |
{ |
159 |
wait_event(queue->queue, cfunction(cparam) != 0); |
159 |
wait_event(queue->queue, cfunction(cparam) != 0); |
160 |
} |
160 |
} |
161 |
|
161 |
|
162 |
return 0; |
162 |
#ifdef PF_FREEZE |
|
|
163 |
if (current->flags & PF_FREEZE) |
164 |
refrigerator(PF_FREEZE); |
165 |
#else |
166 |
try_to_freeze(); |
167 |
#endif |
168 |
|
169 |
return signal_pending(current); |
163 |
} |
170 |
} |
164 |
|
171 |
|
165 |
inline int xp_notify(struct xp_queue *queue) |
172 |
inline int xp_notify(struct xp_queue *queue) |