On Thu, 2009-06-25 at 16:25 +0100, Chrissie Caulfield wrote: > Steven Dake wrote: > > The change is a good idea, but I'd rather not stick more error code > > handling requirements on the user. Can't we just use try again instead? > > > > Hmmm > > ERR_INTERRUPT is already a listed return code, and most people doing > communications are used to trapping something similar I think. Also I > don't really think that ERR_TRY_AGAIN properly captures what has happened. > > But I'm not going to get anal about this. Does anyone else have an opinion? >
Chrissie, This change has profound changes across all the API interfaces. It would trigger every single API to deliver an ERR_INTERRUPT to the user in this use case. For example, if saCkptSectionCreate was interrupted, it would return this error code. Unfortunately SA Forum didn't specify ERR_INTERRUPT in the list of valid return codes there, so we would have to trap in every library call in openais for this error code and return a sa forum specified error code (such as try again). I'm really concerned this could cause breakage all over cluster 3 and downstream without proper trapping in the SA Forum services. I don't want to introduce such a change so near release that requires reworking all the library api calls so near release. Can we go with TRY_AGAIN for now, and then adjust to ERR_INTERRUPT once we have a proper openais munging of this error code? Regards -steve > Chrissie > > > > > On Thu, 2009-06-25 at 10:03 +0100, Chrissie Caulfield wrote: > >> Currently coroipcc detects EINTR returns from poll() etc and simply > >> retries the operation without informing the clients. > >> > >> I think the clients need to know a signal has been detected. Many > >> daemons trap SIGINT to help them shutdown cleanly, and this used to > >> work. Now they get the signal delivered but calls like quorum_dispatch() > >> do not return so they can't tidy up and close down. > >> > >> This patch changes the behaviour so that if EINTR is detected it is > >> passed back to the clients as CS_ERR_INTERRUPT. The clients can then > >> retry the operation or exit as they see fit. > >> > >> _______________________________________________ > >> Openais mailing list > >> [email protected] > >> https://lists.linux-foundation.org/mailman/listinfo/openais > > _______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
