After digging a little deeper, it turns out that the kevent() call in
opal/event/kquene.c:
        if (kevent(kq,
           kqueueop->changes, 1, kqueueop->events, NEVENT, NULL) != 1 ||
           (int)kqueueop->events[0].ident != master ||
           kqueueop->events[0].flags != EV_ERROR) {

seems to hang in freebsd 7. Changing the NULL parameter to, lets say
1000, causes the function to return and print out the error message:

event_warn("%s: detected broken kqueue (failed delete); not using error %d (%s)", __func__, errno, strerror(errno));

The simple non-blocking send/recv app used to test this then runs to
completion. Compiling OpenMPI on linux and running this same app
produces no errors.

Any ideas?

Thanks.
--
Karol



Reply via email to