all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Tom Tromey <tromey@redhat.com>
Cc: Ted Zlatanov <tzz@lifelogs.com>, emacs-devel@gnu.org
Subject: Re: Concurrency
Date: Sun, 28 Mar 2010 16:03:37 -0400	[thread overview]
Message-ID: <jwveij4z0az.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <m3iq8g6xpw.fsf@fleche.redhat.com> (Tom Tromey's message of "Sun,  28 Mar 2010 13:40:59 -0600")

> Here's a quick rundown of the new primitives.

> (run-in-thread FUNC)
>   Take a no-argument function as an argument.
>   Makes a new thread and calls the function.

> (with-new-thread FORM)
>   A convenience macro that takes a form, wraps it in a lambda,
>   and calls run-in-thread.

> (yield)
>   Yield control.
>   Emacs has semi-cooperative threading.  Thread switches happen during
>   I/O or by explicit yield.

> (make-mutex)
>   Make a new lock and return it

> (mutex-lock MUTEX)
>   Acquire a mutex.  If already held by this thread, returns.

I.e. it's a "recursive/reentrant mutex".

>   If the mutex is held by some other thread, blocks until it is
>   available.

> (mutex-unlock MUTEX)
>   Release the lock.

Sounds good.  Could someone complete the above with a description of how
let-bindings work (and/or how they interact with buffer-local bindings)?
Also, a list of bugs/problem/issues would be handy,


        Stefan


PS: And place this info in a file in the `concurrent' branch.




  reply	other threads:[~2010-03-28 20:03 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-28  0:19 redisplay system of emacs alin.s
2010-01-28  4:13 ` Eli Zaretskii
2010-01-28  9:07   ` Lennart Borgman
2010-01-28 11:27     ` Eli Zaretskii
2010-01-28 11:47       ` Lennart Borgman
2010-01-28 12:43         ` Eli Zaretskii
2010-01-28 12:53           ` Lennart Borgman
2010-01-28 14:10             ` Miles Bader
2010-01-28 15:04               ` alin.s
2010-01-28 22:34               ` Lennart Borgman
2010-01-29 10:04               ` Paul R
2010-01-29 10:17                 ` David Kastrup
2010-01-29 10:23                   ` Lennart Borgman
2010-01-29 10:30                     ` David Kastrup
2010-01-29 13:18                       ` Lennart Borgman
2010-01-29 11:03                     ` Miles Bader
2010-01-29 11:38                       ` Eli Zaretskii
2010-01-29 15:10                         ` Miles Bader
2010-01-29 17:30                           ` Eli Zaretskii
2010-01-29 10:48                   ` Paul R
2010-01-29 11:01                     ` David Kastrup
2010-01-29 18:19                   ` Stefan Monnier
2010-01-29 11:35                 ` Eli Zaretskii
2010-01-29 13:06                   ` Paul R
2010-01-29 13:10                     ` David Kastrup
2010-01-29 13:45                     ` Eli Zaretskii
2010-01-29 15:28                     ` Chong Yidong
2010-01-29 18:35                     ` Stefan Monnier
2010-01-29 18:56                       ` Óscar Fuentes
2010-01-30 11:46                         ` Richard Stallman
2010-01-30 12:51                           ` Óscar Fuentes
2010-01-30 15:39                             ` Eli Zaretskii
2010-01-30 19:21                               ` Óscar Fuentes
2010-01-30 21:31                                 ` Eli Zaretskii
2010-01-31  9:32                               ` David Kastrup
2010-01-31 12:41                             ` Richard Stallman
2010-01-29 19:53                       ` Eli Zaretskii
2010-01-30 18:04                         ` Stefan Monnier
2010-01-30 18:39                           ` Stephen J. Turnbull
2010-01-30 10:34                       ` Fabian Ezequiel Gallina
2010-01-30 10:52                         ` David Kastrup
2010-01-30 21:18                         ` Stefan Monnier
2010-01-29 13:07                   ` David Kastrup
2010-01-28  5:10 ` Ken Hori
2010-01-28 12:10 ` Stephen J. Turnbull
2010-01-28 13:41   ` alin.s
2010-01-28 14:50     ` Stephen J. Turnbull
2010-02-12  8:31 ` alin.s
2010-02-12 12:10   ` Juanma Barranquero
2010-02-12 13:41     ` alin.s
2010-02-12 12:49   ` Jan Djärv
2010-02-12 13:30     ` alin.s
2010-02-12 14:25       ` Jan Djärv
2010-02-12 14:37         ` alin.s
2010-02-12 14:53         ` alin.s
2010-02-12 15:11           ` Jan Djärv
2010-02-12 15:31             ` David Kastrup
2010-02-12 15:55               ` Jan Djärv
2010-02-12 16:53               ` alin.s
2010-02-12 18:55                 ` David Kastrup
2010-02-14 19:13                   ` alin.s
2010-02-17 13:14                     ` Chong Yidong
2010-02-23  0:45                       ` Giuseppe Scrivano
2010-02-23  3:01                         ` David Reitter
2010-02-23  3:34                           ` Tom Tromey
2010-02-23 14:31                         ` Richard Stallman
2010-03-05 22:53                         ` Concurrency (was: redisplay system of emacs) Stefan Monnier
2010-03-05 22:57                           ` Andreas Schwab
2010-03-11 14:18                           ` Giuseppe Scrivano
2010-03-25 16:49                           ` Giuseppe Scrivano
2010-03-26 17:10                             ` Concurrency Ted Zlatanov
2010-03-26 19:37                               ` Concurrency Tom Tromey
2010-03-27  3:00                                 ` Concurrency Ted Zlatanov
2010-03-27 13:33                                   ` Concurrency Stefan Monnier
2010-03-29 18:18                                     ` Concurrency Tom Tromey
2010-03-28 19:40                                   ` Concurrency Tom Tromey
2010-03-28 20:03                                     ` Stefan Monnier [this message]
2010-03-28 20:25                                       ` Concurrency Davis Herring
2010-03-28 20:54                                         ` Concurrency Giuseppe Scrivano
2010-03-28 23:18                                           ` Concurrency Stefan Monnier
2010-03-29 10:04                                             ` Concurrency Giuseppe Scrivano
2010-03-29 15:37                                               ` Concurrency Tom Tromey
2010-03-29 16:16                                                 ` Concurrency Stefan Monnier
2010-03-29 16:36                                                   ` Concurrency Ken Raeburn
2010-03-29 17:41                                                     ` Concurrency Stefan Monnier
2010-03-29 16:33                                                 ` Concurrency Ken Raeburn
2010-03-29 16:58                                                   ` Concurrency Tom Tromey
2010-03-29 17:46                                                     ` Concurrency Stefan Monnier
2010-03-29 17:37                                                 ` Concurrency Giuseppe Scrivano
2010-03-29 18:21                                                   ` Concurrency Stefan Monnier
2010-03-28 21:19                                         ` Concurrency Tom Tromey
2010-03-28 21:22                                         ` Concurrency Daniel Colascione
2010-03-28 23:20                                           ` Concurrency Stefan Monnier
2010-03-29  2:18                                           ` Concurrency Tom Tromey
2010-03-28 21:17                                       ` Concurrency Tom Tromey
2010-03-29 16:25                                         ` Concurrency Ken Raeburn
2010-03-29 16:49                                           ` Concurrency Tom Tromey
2010-03-29 17:39                                             ` Concurrency Stefan Monnier
2010-03-31 17:13                                         ` gsoc for concurrent Emacs? (was: Concurrency) Ted Zlatanov
2010-04-01  9:45                                           ` Giuseppe Scrivano
2010-03-28 21:04                                     ` Concurrency Giuseppe Scrivano
2010-03-28 21:25                                     ` Concurrency Daniel Colascione
2010-03-29  2:20                                       ` Concurrency Tom Tromey
2010-02-14 19:25                   ` redisplay system of emacs alin.s
2010-02-16 16:40                 ` Davis Herring
2010-02-16 19:20                   ` grischka
2010-02-16 19:55                     ` Thien-Thi Nguyen
2010-02-17 13:56                       ` alin.s
2010-02-16 20:00                     ` Eli Zaretskii
2010-02-16 20:56                       ` grischka
2010-02-17  4:20                         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwveij4z0az.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=tromey@redhat.com \
    --cc=tzz@lifelogs.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.