"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
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
a
controlled type, not requiring explicit cleanup anymore.
Followup on changes made for DSA under J817-001.
Subversion-branch: /trunk/polyorb
Subversion-revision: 164139
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
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
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
MANIFEST, because these are needed to build the examples from the
source
distribution.
For GC06-022.
Subversion-branch: /trunk/polyorb
Subversion-revision: 120041
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