sca-c-cpp message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [sca-c-cpp] NEW ISSUE: CPP20012 and C20014 are misleading.
- From: Andrew Borley <BORLEY@uk.ibm.com>
- To: sca-c-cpp@lists.oasis-open.org
- Date: Sun, 11 Oct 2009 11:58:53 +0100
This issue has been assigned ID CCPP-98
in the Jira system
See http://www.osoa.org/jira/browse/CCPP-98
Cheers
Andrew
____________________________________________________________
Andrew Borley
Websphere ESB Development
Tel: 245393 Ext: +44 (0) 1962 815393 Mob: +44 (0) 7971 805547
E-mail: borley@uk.ibm.com
Mailpoint 211, IBM (UK) Ltd, Hursley Park, Winchester, Hants, SO21 2JN
____________________________________________________________
From:
| Bryan Aupperle <aupperle@us.ibm.com>
|
To:
| sca-c-cpp@lists.oasis-open.org
|
Date:
| 09/10/2009 21:06
|
Subject:
| [sca-c-cpp] NEW ISSUE: CPP20012 and
C20014 are misleading. |
Target: CPPCNI CD04 Rev4 and CCNI CD04 Rev4
Description: CPP20012 and C20014 both state: An
SCA runtime MUST ensure that a stateless scoped implementation instance
object is only ever dispatched on one thread at any one time. In addition,
within the SCA lifecycle of an instance, an SCA runtime MUST only make
a single invocation of one business function.
If an implementation truly is stateless - i.e. does not use static variables
and only uses data members (C++) global variables (C, a stateless C++ implementation
should never access a global variable for holding property values - than
this statement is unnecessary.
The question becomes what kind of protection can a runtime provide for
in implementation identified as stateless that is not truly so. Static
and global variables exist as long as the library containing them resides
in memory and it is not possible to guarantee that a library can be unloaded
after an arbitrary function invocation. The second sentence of the
normative statements implies a level of protection that is simply not possible
to provide. And newing/freeing an object after every member function invocation
is a performance hit.
The first sentence does not have any problematic implications, but I think
is meaningless in C.to the extent that a function invocation only exists
on one thread.
Proposal: At a minimum, the second sentence of CPP20012 and C20014 should
be deleted. We should discuss if any other changes are appropriate.
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]