On 23 January 2014 22:45, Roland Mainz <roland.ma...@nrubsig.org> wrote: > Hi! > > ---- > > While trying to figure out why Solaris still have problems with > (realtime) signal handling I found another issue related to |errno|: > It seems that if syscalls are waiting and are then interrupted by a > signal the value of |errno| returned by the syscall looks different > than the errno value returned by the kernel for that syscall... > ... after some digging I figured out that some platforms do not save > |errno| before calling the signal handler function and then restore it > when that function returns. > > Attached (as "astksh20131010_sighandler_saverestore_errno001.diff") is > a simple patch which fixes that issue (and therefore fixes some > sporadic failures in ksh93 related to signal handling) ...
FYI these findings mirror http://austingroupbugs.net/view.php?id=807 which talks about the interaction between signal handlers and errno. Lionel _______________________________________________ ast-developers mailing list ast-developers@lists.research.att.com http://lists.research.att.com/mailman/listinfo/ast-developers