Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Job Control and POSIX

3 views
Skip to first unread message

David A Willcox

unread,
Apr 22, 1993, 6:55:15 PM4/22/93
to
Submitted-by: wil...@urbana.mcd.mot.com (David A Willcox)

This is in reply to a posting on 25 Feb by sal...@dal.mobile.com.
Unfortunately, my system has long since purged that message, and I
have only a hard copy.

The original message said, in effect, that POSIX requires read to
return -1 and set errno to EINTR if it is interrupted by a job control
signal before transferring any data. This caused the poster's csh job
(which contained a pipeline) to die when suspended.

This issue was discussed today at the POSIX.1 meeting. While I think
that I have captured the consensus of the group, you should take this
as my personal opinion, and not anything official from the IEEE. If
you want something official, you'll have to ask the IEEE for an
interpretation request. (This certainly is not an official Motorola
position, either.)

I think that the failure described here is due to a misunderstanding
of the phrase "interrupted by a signal." The description of read() does
contain the sentence:

If a read() is interrupted by a signal before it reads any data, it
shall return -1 with errno set to [EINTR].

However, see subclause 3.3.1.4, which describes the effects of signals
on other functions, and contains:

If the action of the signal is to invoke a signal-catching
function, ... the original function is said to be *interrupted* by
the signal.

This, and other wording in 3.3.1.4 makes it clear, I think, that the
bit about EINTR in the description of read() does not apply to job
control signals that were not caught.

I'd suggest that the original poster point this out to the vendor's
customer support people.

David A. Willcox "Just say 'NO' to universal drug testing"
Motorola MCG - Urbana UUCP: ...!uiucuxc!udc!willcox
1101 E. University Ave. INET: wil...@urbana.mcd.mot.com
Urbana, IL 61801 FONE: 217-384-8534


Volume-Number: Volume 31, Number 40

0 new messages