From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Concurrency Date: Sun, 28 Mar 2010 17:25:15 -0400 Organization: Censorship Research Center Message-ID: <4BAFC93B.3010708@censorshipresearch.org> References: <27349166.post@talk.nabble.com> <27560255.post@talk.nabble.com> <4B754E74.8060705@swipnet.se> <27563610.post@talk.nabble.com> <4B7564C7.1010309@swipnet.se> <27564728.post@talk.nabble.com> <4B756FB7.3050202@swipnet.se> <87k4ui4gik.fsf@lola.goethe.zz> <27566385.post@talk.nabble.com> <87wryi2sjd.fsf@lola.goethe.zz> <27585994.post@talk.nabble.com> <87k4ucdmwh.fsf@stupidchicken.com> <87d3zweq4e.fsf@master.homenet> <87y6hg1h4a.fsf@thor.thematica.it> <87tys3j9fa.fsf@lifelogs.com> <87eij6tqmu.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1269811534 15533 80.91.229.12 (28 Mar 2010 21:25:34 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 28 Mar 2010 21:25:34 +0000 (UTC) Cc: Ted Zlatanov , emacs-devel@gnu.org To: Tom Tromey Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 28 23:25:28 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Nvzz5-0003qS-O2 for ged-emacs-devel@m.gmane.org; Sun, 28 Mar 2010 23:25:28 +0200 Original-Received: from localhost ([127.0.0.1]:39746 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nvzz4-0001Ez-VX for ged-emacs-devel@m.gmane.org; Sun, 28 Mar 2010 17:25:27 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nvzz1-0001Eu-6i for emacs-devel@gnu.org; Sun, 28 Mar 2010 17:25:23 -0400 Original-Received: from [140.186.70.92] (port=34583 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nvzyz-0001Eh-Vy for emacs-devel@gnu.org; Sun, 28 Mar 2010 17:25:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nvzyy-000312-O4 for emacs-devel@gnu.org; Sun, 28 Mar 2010 17:25:21 -0400 Original-Received: from haystack.austinheap.com ([70.32.98.68]:43397 helo=haystacknetwork.com) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nvzyy-00030y-KV for emacs-devel@gnu.org; Sun, 28 Mar 2010 17:25:20 -0400 User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3 In-Reply-To: X-Enigmail-Version: 1.0.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:122829 Archived-At: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 3/28/10 3:40 PM, Tom Tromey wrote: > Tom> Nope. However, there aren't really many new Emacs primitives. > > Here's a quick rundown of the new primitives. Thanks for summing these up. > (run-in-thread FUNC) > (with-new-thread FORM) > (yield) > (make-mutex) > (mutex-lock MUTEX) > (mutex-unlock MUTEX) In writing a different cooperatively-multitasked system, I've found that I needed a kind of wait queue ("condition variable" if you will). While you can build one out of the above primitives, it'd be better to provide it as a part of the standard library. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) iEYEARECAAYFAkuvyTsACgkQ17c2LVA10VurjQCgj5oE4YOg7oEgf68pDxNoHD1k siMAni1B7DZHzmcKlki81x1D0m9cSIlk =d5/q -----END PGP SIGNATURE-----