1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: atomic functions -->
<!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> -->
<!--X-Date: Mon, 11 May 1998 18:17:32 &#45;0700 -->
<!--X-Message-Id: 199805120114.SAA09575#under,engr.sgi.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199805061934.VAA10168#xs1,simplex.nl -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: atomic functions</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#under,engr.sgi.com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00510.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00512.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00559.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00437.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00511">Author</A>
&nbsp;|&nbsp;<A HREF="#00511">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00511">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: atomic functions</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: atomic functions </LI>
<LI><em>From</em>: J C Lawrence &lt;<A HREF="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</A>&gt;</LI>
<LI><em>Date</em>: Mon, 11 May 1998 18:14:34 -0700</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: "Petidomo List Agent -- Kanga.Nu version" &lt;<A HREF="mailto:petidomo#kanga,nu">petidomo#kanga,nu</A>&gt;</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Wed, 6 May 1998 21:34:27 +0200 (MET DST) 
Felix A Croes&lt;felix#xs1,simplex.nl&gt; wrote:

&gt; J C Lawrence &lt;claw#under,engr.sgi.com&gt; wrote:

&gt;&gt; On Thu, 30 Apr 1998 03:59:20 +0200 (MET DST) Felix A
&gt;&gt; Croes&lt;felix#xs1,simplex.nl&gt; wrote: 

Its probably not worth replying to most of this as it was based on our 
conflicting definitions and models for what an "atomic function" was.

&gt; In my design, events are only cancelled if they fail to commit their
&gt; changes.  Uncaught errors cause the event to terminate, but do not
&gt; make it skip the commit phase.

Ahh, my exception model treats uncaught exceptions identically to
commit failures with the sole exception that an event which failed due
to an unhandled exception will not be rescheduled, and the other will.
The reason is fairly simple: logical correctness.  Allowing an event
which failed due to internal logical errors to commit its changed data
allows inconsistent data to be propagated to the DB.  THis is
especially critical because the source of the rror or exception may be
remote (in code terms) from the source of the initial call (ie a call
to a function at the bottom of a long call tree, defined in a distant
object).

&gt; Aside: an event that fails a number of times will eventually be
&gt; rescheduled in (effective) single-threaded mode.  Thus, it is not
&gt; possible for scheduled events to disappear altogether, and the
&gt; temporary failure of events is invisible from within the system.

Yes, this was discussed extensively earlier last year and in the CC
list days.  I have a scale of priority changes I run thru to
gradiently accomplish this with minimal (ha!) impact.

One of these days I must run metrics to check whether a faster
progression to single-threading would be more efficient.  Much along
the line of: try a couple times and if still failing, stop everything
and do it.

&gt;&gt; Note: ColdC has a similar construct with their exception handling
&gt;&gt; model (Miro or Brandon can probably expand better than I there).

&gt; Critical sections in ColdC?  I looked it up, and there does not
&gt; appear to be any undoing of changes involved.

Nahh, an exception model with an operator to trap all exceptions.

-- 
J C Lawrence                               Internet: claw#null,net
(Contractor)                               Internet: coder#ibm,net
---------(*)                     Internet: claw#under,engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...

-- 
MUD-Dev: Advancing an unrealised future.

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00433" HREF="msg00433.html">[MUD-Dev] Re: atomic functions</A></STRONG>
<UL><LI><EM>From:</EM> "Felix A. Croes" &lt;felix#xs1,simplex.nl&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00510.html">[MUD-Dev] Re: FW: (Fwd) Bouncing mail</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00512.html">[MUD-Dev] Re: regulating player-created objects</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00559.html">[MUD-Dev] Re: atomic functions</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00437.html">[MUD-Dev] Re: atomic functions</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00511"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00511"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>[MUD-Dev] Re: atomic functions</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00459" HREF="msg00459.html">[MUD-Dev] Re: atomic functions</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 07 May 1998, 14:12 GMT
<UL>
<LI><strong><A NAME="00558" HREF="msg00558.html">[MUD-Dev] Re: atomic functions</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 13 May 1998, 21:41 GMT
<UL>
<LI><strong><A NAME="00584" HREF="msg00584.html">[MUD-Dev] Re: atomic functions</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 14 May 1998, 20:00 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00559" HREF="msg00559.html">[MUD-Dev] Re: atomic functions</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 13 May 1998, 21:46 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00511" HREF="msg00511.html">[MUD-Dev] Re: atomic functions</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 12 May 1998, 01:17 GMT
</LI>
</ul>
<LI><strong><A NAME="00437" HREF="msg00437.html">[MUD-Dev] Re: atomic functions</A></strong>, 
Felix A. Croes <a href="mailto:felix#xs1,simplex.nl">felix#xs1,simplex.nl</a>, Wed 06 May 1998, 21:31 GMT
<UL>
<LI><strong><A NAME="00444" HREF="msg00444.html">[MUD-Dev] Re: atomic functions</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 06 May 1998, 22:29 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00453" HREF="msg00453.html">[MUD-Dev] Re: atomic functions</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 07 May 1998, 06:02 GMT
<UL>
<LI><strong><A NAME="00540" HREF="msg00540.html">[MUD-Dev] Re: atomic functions</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 13 May 1998, 18:06 GMT
</LI>
</UL>
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>