* Need to unlock on error conditions in opal_event_base_loop()
* Fix if structure if we don't use signals Rainer Keller submitted original patch, slightly cleaned up by me. This commit was SVN r11758.
Этот коммит содержится в:
родитель
798c19d395
Коммит
b4480cf182
@ -533,8 +533,10 @@ opal_event_base_loop(struct event_base *base, int flags)
|
|||||||
done = 0;
|
done = 0;
|
||||||
while (!done && opal_event_enabled) {
|
while (!done && opal_event_enabled) {
|
||||||
/* Calculate the initial events that we are waiting for */
|
/* Calculate the initial events that we are waiting for */
|
||||||
if (evsel->recalc(base, evbase, 0) == -1)
|
if (evsel->recalc(base, evbase, 0) == -1) {
|
||||||
|
OPAL_THREAD_UNLOCK(&opal_event_lock);
|
||||||
return (-1);
|
return (-1);
|
||||||
|
}
|
||||||
|
|
||||||
/* Terminate the loop if we have been asked to */
|
/* Terminate the loop if we have been asked to */
|
||||||
if (base->event_gotterm) {
|
if (base->event_gotterm) {
|
||||||
|
@ -206,8 +206,9 @@ poll_dispatch(struct event_base *base, void *arg, struct timeval *tv)
|
|||||||
opal_evsignal_process();
|
opal_evsignal_process();
|
||||||
#endif
|
#endif
|
||||||
return (0);
|
return (0);
|
||||||
} else if (opal_evsignal_caught)
|
}
|
||||||
#if OPAL_EVENT_USE_SIGNALS
|
#if OPAL_EVENT_USE_SIGNALS
|
||||||
|
else if (opal_evsignal_caught)
|
||||||
opal_evsignal_process();
|
opal_evsignal_process();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user