axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Hawkins <>
Subject C and C++ support
Date Wed, 22 Sep 2004 10:09:27 GMT

Hi Folks,

Throughout the last year we have come across many problems related to our
continued commitment to supporting both C and C++ stubs. The design of the
engine code has been greatly affected by this and has caused quite a few
problems particularly with regard to memory management. Please see here and here for some of the issues we
have recently uncovered.

The reasoning behind supporting C is clear - to support legacy
applications. We have had the debate about using C internally for
performance reasons and I think we have concluded that we need to get the
code stable and then consider performance. The intermingling of C and C++
in the core code has created more problems than it would appear to have
solved (Current performance charts show azis C looking very bad).

In order to improve and stabilise the code I would like to propose that we
remove C structures, memory allocation etc. such that we have a 100% C++
engine. If we did this we can then enhance WSDL2WS such that it creates C
wrappers for the pure C++ code. There is, in my opinion,  no question that
this will improve the quality of the code - particularly memory management.

If this is agreed upon then I would like to propose that we take a two
staged approach in the management of this change. I would like us to
withdraw C support for the NEXT RELEASE ONLY (1.4). In 1.4 we can work on
making the engine 100% C++. I would then like us to reintroduce the C
support in the post 1.4 timeframe (1.5) by making the changes to WSDL2WS.

This approach enables us to concentrate on improving the core engine code
in the first instance without worrying about updating the C support in
WSDL2WS - code that will get changed in the next release. Once we have
proven that we have a stable 100% C++ engine we can then concentrate
entirely on C support - i.e. by producing the nicely encapsulated
wrappering layer.

I hope that we, as a community, can work through this problem quickly so
that we can make the core code more stable and C support of a much higher
quality. I look forward to your responses.

(This is copied to both the dev and user community for response.)


John Hawkins

View raw message