674 Commits

Author SHA1 Message Date
Thomas Quinot
0b104eabcc Fix case of "any"
Subversion-branch: /trunk/polyorb
Subversion-revision: 164877
2010-09-21 09:07:16 +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
80be03a0d3 Add echoAny
Prompted by J804-030

Subversion-branch: /trunk/polyorb
Subversion-revision: 163771
2010-08-19 10:03:08 +00:00
Bob Duff
ccf00da2de * Makefile.in:
Remove -gnatwR so we again get warnings on redundant type conversions.

* cos/naming/cosnaming-namingcontext-impl.ads,
  cos/naming/cosnaming-namingcontext-impl.adb,
  cos/ir/corba-repository_root-valuedef-impl.adb,
  cos/ir/corba-repository_root-valuedef-impl.ads,
  cos/time/costime-uto-impl.adb,
  cos/time/costime-uto-impl.ads,
  examples/corba/all_types/all_types-impl.ads,
  examples/corba/all_types/all_types-impl.adb:
Change the result type of functions from Ref to Ref'Class as
required by the Ada mapping specification. Otherwise, we get
warnings on redundant type conversions in the skels -- the generated
code
converts Ref to Ref.

Fixes J418-003.

Subversion-branch: /trunk/polyorb
Subversion-revision: 159170
2010-04-19 21:21:06 +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
Thomas Quinot
85e5bb314f Initial implementation of IB23-017 (embedded name server for
PolyORB/DSA).

Subversion-branch: /trunk/polyorb
Subversion-revision: 153820
2009-12-04 18:22:00 +00:00
Thomas Quinot
0377653a3a Clean up and simplify generated code for exception and struct From_Any.
For IC01-022

Subversion-branch: /trunk/polyorb
Subversion-revision: 153632
2009-12-01 15:08:52 +00:00
Thomas Quinot
5a43595bc7 Fix all_types test for IB27-013
Subversion-branch: /trunk/polyorb
Subversion-revision: 153596
2009-11-30 17:12:49 +00:00
Thomas Quinot
95a804b88e Add "local" mode allowing client to run its own server object.
Motivated by IB25-010

Subversion-branch: /trunk/polyorb
Subversion-revision: 152857
2009-11-26 17:05:57 +00:00
Thomas Quinot
09f87b571c Import Bank example from GLADE.
For G123-015
Prompted by IA28-001

Subversion-branch: /trunk/polyorb
Subversion-revision: 151510
2009-10-28 12:51:52 +00:00
Thomas Quinot
e26a93a96f Print out full exception information (not just exception names) for
exception
tests, to show the parition IDs in exception messages.
For I511-037

Subversion-branch: /trunk/polyorb
Subversion-revision: 143856
2009-05-12 10:48:03 +00:00
Thomas Quinot
ac02dc0348 Fix incorrect configuration name.
Subversion-branch: /trunk/polyorb
Subversion-revision: 143395
2009-04-28 13:16:05 +00:00
Thomas Quinot
b54a603102 Add test of IN OUT formal of a limited type in RCI unit.
For I422-024

Subversion-branch: /trunk/polyorb
Subversion-revision: 143259
2009-04-23 17:14:55 +00:00
Thomas Quinot
b0757e46af Add DSA examples to MANIFEST
Subversion-branch: /trunk/polyorb
Subversion-revision: 142915
2009-04-16 15:10:24 +00:00
Thomas Quinot
9bafbf14c2 Add an Ada 95 variant of the mailboxes example
For I415-015

Subversion-branch: /trunk/polyorb
Subversion-revision: 142914
2009-04-16 15:08:49 +00:00
Thomas Quinot
e1aa4aa566 Clean up stale files from old DSA demo.
Subversion-branch: /trunk/polyorb
Subversion-revision: 142911
2009-04-16 14:40:37 +00:00
Thomas Quinot
276d063aa8 Clean up old DSA demo.
Subversion-branch: /trunk/polyorb
Subversion-revision: 142910
2009-04-16 14:40:01 +00:00
Thomas Quinot
444141148b New DSA demo: simple inter-partition messaging, using RACW and Ada 2005
interfaces.
Prompted by I415-015.

----
date: 2009/04/16 15:27:16;  author: quinot;
Simple test case for AI05-060 remote interfaces (H401-016)

Subversion-branch: /trunk/polyorb
Subversion-revision: 142909
2009-04-16 14:38:56 +00:00
Thomas Quinot
2b7e25615b (All_Functions): Add the possibility to test local calls within the
server
partition, since they have different failure modes compared to real
remote
calls.
For HB25-017

Subversion-branch: /trunk/polyorb
Subversion-revision: 132810
2008-11-27 14:08:19 +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
Thomas Quinot
688559e679 Reduce delays for oneway tests.
Subversion-branch: /trunk/polyorb
Subversion-revision: 128601
2008-09-12 14:07:44 +00:00
Thomas Quinot
c3a462ef42 Remove junk Makefile
Subversion-branch: /trunk/polyorb
Subversion-revision: 128209
2008-08-29 15:36:57 +00:00