1997Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev]  C&#38;C and Event Rescheduling -->
<!--X-From-R13: fvybivpNfepr.ue ([vebfyni Evybivp) -->
<!--X-Date: from stimpy.globecomm.net [207.51.48.4] by in11.ibm.net id 869938938.48026&#45;1 Sat Jul 26 17:42:18 1997 CUT -->
<!--X-Message-Id: 199707261742.TAA00453#regoc,srce.hr -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 33D8E6DE.167EB0E7#iname,com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev]  C&amp;C and Event Rescheduling</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:silovic#srce,hr">
</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="msg00245.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00247.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00243.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00274.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00246">Author</A>
&nbsp;|&nbsp;<A HREF="#00246">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00246">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev]  C&amp;C and Event Rescheduling</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev]  C&amp;C and Event Rescheduling</LI>
<LI><em>From</em>: <A HREF="mailto:silovic#srce,hr">silovic#srce,hr</A> (Miroslav Silovic)</LI>
<LI><em>Date</em>: Sat, 26 Jul 1997 19:42:15 +0200 (MET DST)</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
&gt; GJon A. Lambert wrote:
&gt; &gt; 
&gt; &gt; &gt; From: clawrenc#cup,hp.com
&gt; &gt; &gt; Subject: [MUD-Dev]  C&amp;C and Event Rescheduling
&gt; &gt; &gt;
&gt; &gt; &gt;   Re: #5.  How do you determine that the object has changed during the
&gt; &gt; &gt; execution of the event?  I do this by always keeping an original copy
&gt; &gt; &gt; of the object to compare to the copy current in the DB and then do a
&gt; &gt; &gt; bit-wise comparison of the two objects.  The original copy is the
&gt; &gt; &gt; second copy made above for a modification.

I already specced the commit procedure for Cold, however, I went for
locking instead of copying. When you read an object, you obtain a read
lock on it. On write, the original is copied (in case of the rollback),
however, if any other task has a read lock on the object, writer gets
a rollback. If write suceeds, the object gets a write lock - attempt
to read a write-locked object causes rollback (these are the basic
rules, of course). Temporary copies are kept in a hash table (hashed
by object IDs), and thrown away on commit (along with write locks).
Advantage of this method is that things are not copied unnecessarily
(actually piling the copy in the hashtable is a simple reference
tweaking, and not actual tree-copying). 'Object' here actually means
object attribute, object method, object header (i.e. objname and
parents/children lists), file buffers and networking buffers.
Of course, none of this has been implemented yet. :)

	Miro



</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00274" HREF="msg00274.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>
<ul compact><li><em>From:</em> clawrenc#cup,hp.com</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00243" HREF="msg00243.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></STRONG>
<UL><LI><EM>From:</EM> Shawn Halpenny &lt;malachai#iname,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00245.html">Re: [MUD-Dev] OT: Multi-threaded programming under linux</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00247.html">Stories?</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00243.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00274.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00246"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00246"><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><A NAME="00244" HREF="msg00244.html">Re: [MUD-Dev] Multi-threaded programming under Linux]</A></strong>, 
Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Sat 26 Jul 1997, 02:40 GMT
<UL>
<LI><strong><A NAME="00245" HREF="msg00245.html">Re: [MUD-Dev] OT: Multi-threaded programming under linux</A></strong>, 
Orion Henry <a href="mailto:ohenry#sdcc10,ucsd.edu">ohenry#sdcc10,ucsd.edu</a>, Sat 26 Jul 1997, 06:19 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00240" HREF="msg00240.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Fri 25 Jul 1997, 21:11 GMT
<UL>
<LI><strong><A NAME="00243" HREF="msg00243.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Sat 26 Jul 1997, 00:48 GMT
<UL>
<LI><strong><A NAME="00246" HREF="msg00246.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Sun 27 Jul 1997, 00:42 GMT
<UL>
<LI><strong><A NAME="00274" HREF="msg00274.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 30 Jul 1997, 01:10 GMT
<UL>
<LI><strong><A NAME="00289" HREF="msg00289.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#petra,zesoi.fer.hr">silovic#petra,zesoi.fer.hr</a>, Wed 30 Jul 1997, 20:43 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00279" HREF="msg00279.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 30 Jul 1997, 06:50 GMT
</LI>
</UL>
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00281" HREF="msg00281.html">Re: [MUD-Dev]  C&amp;C and Event Rescheduling</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 30 Jul 1997, 10:28 GMT
</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>