/usr/share/doc/polyorb-doc/html/polyorb_ug/Pragma-All_005fCalls_005fRemote.html is in polyorb-doc 2.11~20140418-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This is free software; you can redistribute it and/or modify it under
terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version. This software is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>PolyORB User’s Guide: Pragma All_Calls_Remote</title>
<meta name="description" content="PolyORB User’s Guide: Pragma All_Calls_Remote">
<meta name="keywords" content="PolyORB User’s Guide: Pragma All_Calls_Remote">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="About-This-Guide.html#About-This-Guide" rel="start" title="About This Guide">
<link href="Index.html#Index" rel="index" title="Index">
<link href="About-This-Guide.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="More-About-Categorization-Pragmas.html#More-About-Categorization-Pragmas" rel="up" title="More About Categorization Pragmas">
<link href="Generic-Categorized-Units.html#Generic-Categorized-Units" rel="next" title="Generic Categorized Units">
<link href="Pragma-Asynchronous.html#Pragma-Asynchronous" rel="prev" title="Pragma Asynchronous">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Pragma-All_005fCalls_005fRemote"></a>
<div class="header">
<p>
Next: <a href="Generic-Categorized-Units.html#Generic-Categorized-Units" accesskey="n" rel="next">Generic Categorized Units</a>, Previous: <a href="Pragma-Asynchronous.html#Pragma-Asynchronous" accesskey="p" rel="prev">Pragma Asynchronous</a>, Up: <a href="More-About-Categorization-Pragmas.html#More-About-Categorization-Pragmas" accesskey="u" rel="up">More About Categorization Pragmas</a> [<a href="About-This-Guide.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Pragma-All_005fCalls_005fRemote-1"></a>
<h4 class="subsubsection">8.1.7.5 Pragma All_Calls_Remote</h4>
<p>A pragma All_Calls_Remote in a RCI unit forces remote procedure
calls to be routed through the communication subsystem even for a local
call. This eases the debugging of an application in a non-distributed
situation that is very close to the distributed one, because the communication
subsystem (including marshalling and unmarshalling procedures) can be
exercised on a single node.
</p>
<p>In some circumstances, a non-distributed application can behave
differently from an application distributed on only one partition. This
can happen when both All_Calls_Remote and Asynchronous features are used
at the same time (see <a href="Pragma-Asynchronous.html#Pragma-Asynchronous">Pragma Asynchronous</a> for an example). Another
circumstance occurs when the marshalling operations raise an
exception. In the following example, when unit ACRRCI is a
All_Calls_Remote package, the program raises Program_Error. When
unit ACRRCI is no longer a All_Calls_Remote package, then the program
completes silently.
</p>
<div class="smallexample">
<pre class="smallexample">
<b>with</b> Ada.Streams; <b>use</b> Ada.Streams;
<b>package</b> ACRRT <b>is</b>
<b>pragma</b> Remote_Types;
<b>type</b> T <b>is</b> <b>private</b>;
<b>private</b>
-- implementation removed
<b>end</b> ACRRT;
</pre></div>
<div class="smallexample">
<pre class="smallexample">
<b>package</b> <b>body</b> ACRRT <b>is</b>
<b>procedure</b> Read
(S : <b>access</b> Root_Stream_Type'Class;
X : <b>out</b> T) <b>is</b>
<b>begin</b>
<b>raise</b> Program_Error;
<b>end</b> Read;
<b>procedure</b> Write
(S : <b>access</b> Root_Stream_Type'Class;
X : <b>in</b> T) <b>is</b>
<b>begin</b>
<b>raise</b> Program_Error;
<b>end</b> Write;
<b>end</b> ACRRT;
</pre></div>
<div class="smallexample">
<pre class="smallexample">
<b>with</b> ACRRT; <b>use</b> ACRRT;
<b>package</b> ACRRCI <b>is</b>
<b>pragma</b> Remote_Call_Interface;
<b>pragma</b> All_Calls_Remote;
<b>procedure</b> P (X : T);
<b>end</b> ACRRCI;
</pre></div>
<div class="smallexample">
<pre class="smallexample">
<b>package</b> <b>body</b> ACRRCI <b>is</b>
<b>procedure</b> P (X : T) <b>is</b>
<b>begin</b>
<b>null</b>;
<b>end</b> P;
<b>end</b> ACRRCI;
</pre></div>
<div class="smallexample">
<pre class="smallexample">
<b>with</b> ACRRCI, ACRRT;
<b>procedure</b> ACRMain <b>is</b>
X : ACRRT.T;
<b>begin</b>
ACRRCI.P (X);
<b>end</b> ACRMain;
</pre></div>
<hr>
<div class="header">
<p>
Next: <a href="Generic-Categorized-Units.html#Generic-Categorized-Units" accesskey="n" rel="next">Generic Categorized Units</a>, Previous: <a href="Pragma-Asynchronous.html#Pragma-Asynchronous" accesskey="p" rel="prev">Pragma Asynchronous</a>, Up: <a href="More-About-Categorization-Pragmas.html#More-About-Categorization-Pragmas" accesskey="u" rel="up">More About Categorization Pragmas</a> [<a href="About-This-Guide.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|