Email List: Xaustin-review-lX
[All Lists]

Defect in XSH 2.9.1

To: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
Subject: Defect in XSH 2.9.1
From: yyyyyyyyyy@xxxxxx
Date: Thu, 9 Feb 2006 05:16:41 GMT
Resent-date: Thu, 9 Feb 2006 08:10:54 +0000
Resent-from: Andrew Josey <yyyyyy@xxxxxxxxxxxxxxxxx>
Resent-message-id: <1060209081054.ZM6201@xxxxxx>
Resent-to: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
        Defect report from : G. K. Rajani , Hewlett Packard

(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)

@ page 90 line 2089 section 2.9.1 objection {HPOSLGKR200601}

Problem:

Edition of Specification (Year): 2004

Defect code :  1. Error

The system() function is defined to be a thread-safe function. The
specification requires it to use features which have an affect at the
process scope, which renders it non-thread-safe.

As per the system () interface definition, (XSH P1540 ,L46753-46754 "The 
system() function shall ignore the SIGINT and SIGQUIT signals, and shall block 
the SIGCHLD signal"), the implementation needs to ignore the SIGINT and SIGQUIT 
signals during the execution of system(). 
To achieve this the implementation needs to literally or effectively execute 
the sigaction() function which has process wide scope (XSH P1402, L42498,42499, 
the sigaction() function allows the calling process to examine and/or specify 
the action to be associated with a specific signal).

Since sigaction() can also be called in another thread to set a
different signal action for SIGINT and SIGQUIT. This makes system()
non-threadsafe.

Action:

In System Interfaces, section 2.9.1, line 2089, add "system()" to the
list of functions that need not be thread-safe.

In System Interfaces, Chapter 3, after line 46908, add "This function
need not be reentrant.  A function that is not required to be reentrant is not 
required to be thread-safe."

<Prev in Thread] Current Thread [Next in Thread>
  • Defect in XSH 2.9.1, rajani.g.k <=