65 Commits

Author SHA1 Message Date
Thomas Quinot
034c14a9f1 Switch to Ada 2012 mode for compatibility with GNAT Community 2018 2018-06-14 12:04:05 +02:00
Bob Duff
bcb7d3c26e Add "overriding" where appropriate. Add "pragma Ada_2005;", so
"overriding" is
legal. This is necessary because even though PolyORB itself is compiled
in Ada
2005 mode, user programs that import parts of it might not be.
Fixes H706-007.
Also part of KC21-021.

Subversion-branch: /trunk/polyorb
Subversion-revision: 185571
2012-02-09 19:31:59 +00:00
Thomas Quinot
972ca6e7ae Add missing call to Shutdown so that partition exits after end of test.
Subversion-branch: /trunk/polyorb
Subversion-revision: 184760
2012-01-27 09:44:25 +00:00
Thomas Quinot
99f521407c Switch to GPLv3 for KC20-016
Subversion-branch: /trunk/polyorb
Subversion-revision: 183131
2012-01-04 22:41:08 +00:00
Thomas Quinot
f9de63359a Implement support for RPC abortion in GIOP and neutral layer.
An RPC can now be aborted on the client side, and this causes a
notification
to be sent on the session, and an attempt to abort execution on the
server
side.

When a client disconnects, an abort is also implicitly generated for all
its
requests that are still being served.

Fixes J817-001


----
date: 2010/09/03 17:36:41;  author: quinot;
Change committed by mistake as part of a larger commit.
RH should have read:
Fix to change for J521-019 to also pass name_service on the command line
in the case of a local launch, since we can't rely on the parameter
always
being present in the environment.
----
date: 2010/09/03 17:37:23;  author: quinot;
(the above comment applies to the modification of
polyorb-dsa_p-remote_launch.adb in this revision).

Subversion-branch: /trunk/polyorb
Subversion-revision: 164266
2010-09-03 16:20:45 +00:00
Thomas Quinot
ebd38184cb For CORBA stubs, take advantage of the fact that Requests.Request is now
a
controlled type, not requiring explicit cleanup anymore.

Followup on changes made for DSA under J817-001.

Subversion-branch: /trunk/polyorb
Subversion-revision: 164139
2010-09-01 13:41:00 +00:00
Thomas Quinot
f094d039ee Simplify circuitry to generate list of active tests, to work around a
bug
in GNU make.

Subversion-branch: /trunk/polyorb
Subversion-revision: 155919
2010-01-28 17:14:08 +00:00
Bob Duff
4f8341f7c9 * local.gpr, Makefile.in:
test_common.gpr was renamed to be polyorb_test_common.gpr,
so change all occurrences in local.gpr files under examples
and testsuite. Also correct documentation in Makefile.in.
Part of IC17-019.

Subversion-branch: /trunk/polyorb
Subversion-revision: 154420
2009-12-17 21:55:26 +00:00
Bob Duff
f85ab55590 Remove obsolete make files.
H829-022

Subversion-branch: /trunk/polyorb
Subversion-revision: 132303
2008-11-13 01:53:23 +00:00
Thomas Quinot
2af46d512f This mega-commit cleans up the task management circuitry in PolyORB.
This clean up aims at simplifying the processing, making it more robuts,
ensuring deadlock freedom and improving performance through the
reduction
of task switches.

Reorganization of request processing
------------------------------------

A Request_Job is not inconditionally queued anymore in the main
ORB controller job queue when the ORB receives an Execute_Request
message.

For the client case, the processing is done directly within the calling
task. There is no point in transferring control to another task in that
case, since the calling task will in any case remain in the ORB until
completion of the request.

For the server case, processing is immediately dispatched to the ORB
tasking policy, which can either queue the request (Thread_Pool case) or
hand it to the task responsible for processing it (Thread_Per_Request
and
Thread_Per_Session cases). A Request_Job is therefore queued only for
the
case where it will subsequently be picked up by an ORB task that is
meant
to execute it, and therefore Run_Request can be executed immediately
(without having to dispatch through the ORB tasking policy) at the point
where the Request_Job is actually run.

The profile of Run_Request is updated to allow executing this subprogram
in contexts where no Request_Job has been created.

Handling of dynamic task termination
------------------------------------

Dynamic tasks started in the full tasking profile need to be free'd
after
they terminate. A new dedicated Reaper task is introduced that takes
care
of that.

Cleanup
-------

The May_Poll task flag was always True and is removed.

The Runnable_Controller type was useless and is removed.

Duplicate_Request_Job is now useless and is removed.

TNs
---

This addresses the irregularity observed on H813-027 (need to borrow
transient tasks for upcalls when using Thread_Per_Request or
Thread_Per_Session) and some of the deadlock scenarios identified
on H813-026 (case of Thread_Pool with max_threads = 1).

The original motivation for this work is G510-007 (reorganization to
avoid doing upcalls in transient tasks) and H828-032 (assertion failed
when moving a permanent task to idle state).

Subversion-branch: /trunk/polyorb
Subversion-revision: 128602
2008-09-12 14:16:25 +00:00
Santiago Uruena
5cc632c636 Modifying property 'svn:ignore' to avoid showing files created by
support/reconfig.

Subversion-branch: /trunk/polyorb
Subversion-revision: 122726
2008-03-05 23:21:17 +00:00
Bob Duff
485cf66595 (Makefile.in): Use GNATMAKE_FOR_TARGET instead of GNATMAKE to build
tests.
(*.gpr): Use main procedure file name (with ".adb") in all project
files.
 This is required by gprbuild, and harmless for gnatmake, so we might as
well
 do it, in case we ever switch to gprbuild.
For GA04-028.

Subversion-branch: /trunk/polyorb
Subversion-revision: 121210
2008-01-27 00:25:37 +00:00
Bob Duff
9a40d82c86 Correct project names inside local.gpr files.
For GC06-022.

Subversion-branch: /trunk/polyorb
Subversion-revision: 120042
2007-12-11 21:25:22 +00:00
Bob Duff
712fadb83e Rename test.gpr to local.gpr, and add local.gpr files under examples to
MANIFEST, because these are needed to build the examples from the
source
 distribution.
For GC06-022.

Subversion-branch: /trunk/polyorb
Subversion-revision: 120041
2007-12-11 20:03:00 +00:00
Bob Duff
c02fa75008 Rename all Makefile.test files to be Makefile.local, which is a better
name in
 the case of examples.
Fixes GC07-029.

Subversion-branch: /trunk/polyorb
Subversion-revision: 120015
2007-12-10 20:24:58 +00:00
Jérôme Hugues
2cc9a20899 Patch for supporting compilation with GNAT GPL 2007
Provided by Dmitriy Anisimkov, reviewed by J. Hugues

Subversion-branch: /trunk/polyorb
Subversion-revision: 119457
2007-11-21 15:14:51 +00:00
Bob Duff
0a66d707a2 Implement building of examples and testsuite. Some subdirectories need
more
 work, and are currently disabled.
For EC06-003.

Subversion-branch: /trunk/polyorb
Subversion-revision: 43112
2007-03-13 17:09:38 +00:00
Thomas Quinot
14984649b9 Fix headers and file types.
[Imported from Perforce change 9868 at 2006-12-01 22:21:04]

Subversion-branch: /trunk/polyorb
Subversion-revision: 37333
2006-02-02 17:12:42 +00:00
Thomas Quinot
c547e7a120 Remove more redundant with clauses
flagged by E801-013

[Imported from Perforce change 9867 at 2006-12-01 22:21:03]

Subversion-branch: /trunk/polyorb
Subversion-revision: 37332
2006-02-02 17:11:31 +00:00
Jérôme Hugues
b57c922297 Correct makefile to avoid duplicating targets already
defined in Makefile.common

[Imported from Perforce change 9832 at 2006-12-01 22:19:02]

Subversion-branch: /trunk/polyorb
Subversion-revision: 37297
2006-01-16 15:01:32 +00:00
Thomas Quinot
42a261d61f Reorganise Makefiles so that ADAFLAGS may be specified by the
user in the configure environment.

For build on AIX, EC15-001

[Imported from Perforce change 9779 at 2006-12-01 22:15:13]

Subversion-branch: /trunk/polyorb
Subversion-revision: 37247
2005-12-15 15:29:18 +00:00
Thomas Quinot
c6f3b73222 Remove redundant use_clauses.
For E804-013

[Imported from Perforce change 9552 at 2006-12-01 21:46:30]

Subversion-branch: /trunk/polyorb
Subversion-revision: 37033
2005-09-12 15:17:56 +00:00
Thomas Quinot
67885f8149 Get rid of some unnecessary elaboration pragmas.
Submitted by:	Vadim Godunko
Reviewed by:	Thomas Quinot

[Imported from Perforce change 9319 at 2006-12-01 21:19:57]

Subversion-branch: /trunk/polyorb
Subversion-revision: 36825
2005-05-09 17:06:06 +00:00
Thomas Quinot
27404093a6 Kill trailing blank lines. Necessary to build with newer
GNAT wavefronts implementing E416-002.

[Imported from Perforce change 9294 at 2006-12-01 21:19:21]

Subversion-branch: /trunk/polyorb
Subversion-revision: 36800
2005-04-25 13:02:43 +00:00
Thomas Quinot
391d8540e1 Suppress multiple consecutive blank lines. This is now checked by the
newest GNAT wavefronts in -gnatg mode.

[Imported from Perforce change 9292 at 2006-12-01 21:18:37]

Subversion-branch: /trunk/polyorb
Subversion-revision: 36798
2005-04-24 21:25:26 +00:00