Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 5048 invoked from network); 9 Apr 2004 00:01:03 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 9 Apr 2004 00:01:03 -0000 Received: (qmail 9663 invoked by uid 500); 9 Apr 2004 00:00:43 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 9646 invoked by uid 500); 9 Apr 2004 00:00:42 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 9629 invoked from network); 9 Apr 2004 00:00:42 -0000 Received: from unknown (HELO main.gmane.org) (80.91.224.249) by daedalus.apache.org with SMTP; 9 Apr 2004 00:00:42 -0000 Received: from root by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1BBjRx-0004am-00 for ; Fri, 09 Apr 2004 02:00:49 +0200 Received: from giraffe.student.utwente.nl ([130.89.169.128]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 09 Apr 2004 02:00:49 +0200 Received: from lsimons by giraffe.student.utwente.nl with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 09 Apr 2004 02:00:49 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: dev@cocoon.apache.org From: Leo Simons Subject: Re: [Kernel22] How to develop a component? Date: Fri, 09 Apr 2004 01:48:49 +0200 Lines: 42 Message-ID: References: <008001c41da6$b6b5f050$0801a8c0@lagrange> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: giraffe.student.utwente.nl User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040124 X-Accept-Language: en-us, en In-Reply-To: <008001c41da6$b6b5f050$0801a8c0@lagrange> Sender: news X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Leo Sutic wrote: >>From: news [mailto:news@sea.gmane.org] On Behalf Of Leo Simons >> >>again, from memory, the real tough part is the barrier that's >>in place around the reference. > > I'd say the hard part is when A has significant state that isn't > preserved when it dies. right! Any reason it can't be preserved? reminds me of Persistable... > 1) A active > 2) schedule swap of A with B > 3) prepare swap to max extend (ie create and initialize B) > 4) suspend A and all processes referencing A > 5) swap > 1) stop A 1.5) save A state > 2) kill A (if it doesn't respond) 2.5) load A state into B > 3) start B > 4) update reference > 6) resume A and all processes referencing A the problem is that step 5 just keeps getting more and more expensive...and for all intents and purposes, needs to be atomic. -- cheers, - Leo Simons ----------------------------------------------------------------------- Weblog -- http://leosimons.com/ Component Community -- http://componentplanet.org/ Component Glue -- http://jicarilla.org/ ----------------------------------------------------------------------- "We started off trying to set up a small anarchist community, but people wouldn't obey the rules." -- Alan Bennett