http://bugs.grommit.com/show_bug.cgi?id=571

           Summary: AST sleep SIGALRM behavior incompatible with Solaris
                    /usr/bin/sleep
           Product: ksh93-integration
           Version: unspecified
          Platform: All
        OS/Version: Solaris 11/Nevada
            Status: NEW
          Severity: blocker
          Priority: P3
         Component: App/ksh93
        AssignedTo: ksh93-integration-discuss at opensolaris.org
        ReportedBy: april.chin at sun.com
                CC: ksh93-integration-discuss at opensolaris.org


In the next ksh93 update in Solaris, the ksh93 built-in sleep will be replacing
Solaris /usr/bin/sleep.

Solaris /usr/bin/sleep will catch the SIGALRM but do nothing.  The sleep
continues and effectively ignores the signal, eventually exiting with 
status 0.

The AST ksh93 built-in sleep will do the default action for SIGALRM:
it terminates and exits with 142 (128 + 14 (the signal # for SIGALRM).

Although both behaviors are allowed by the standard, the differing
behavior will be an incompatibility when ksh93 sleep replaces 
Solaris /usr/bin/sleep.

Discussion with Don Cragun brought up these points:

The below known case will behave differently with ksh93 built-in sleep versus
Solaris sleep if a SIGALRM is delivered to sleep:

                while sleep 10
                do
                        __something__
                done

Also, many users may expect sleep to exit 0, given that the
standard (and Solaris sleep(1) manpage) state that an exit
status of 0 is returned if the execution was successfully
suspended for at least <time> seconds or a SIGALRM signal was
received.  The standard goes on to refer to the ASYNCRHONOUS
EVENTS section, but this may be missed by users.

Recommend that we change the SIGALRM behavior of AST sleep to match that
of Solaris /usr/bin/sleep before replacing Solaris /usr/bin/sleep.


-- 
Configure bugmail: http://bugs.grommit.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
You are the assignee for the bug, or are watching the assignee.

Reply via email to