unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Concurrency in Emacs
@ 2012-03-19 15:55 Stefan Monnier
  2012-03-20 15:57 ` Aurélien Aptel
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Monnier @ 2012-03-19 15:55 UTC (permalink / raw)
  To: emacs-devel

Some of you may remember that when talking about what kind of
concurrency should be added to Emacs (locks, transactions, younameit),
I was of the opinion that we should stick to cooperative for now and we
may never want to move away from it because there might be a way to make
it parallel.  You may also remember that I was referring to a work that
I couldn't find any more.
Well, I think I found something related: http://ocm.dreamhosters.com/

I'm not sure whether such an approach is workable for Elisp (the
optimistic STM approach is not workable because of the difficulty of
unrolling side-effects, and it might be difficult to avoid deadlocks in
the lock-based approach), but I think it's an interesting direction if
we want to preserve enough backward compatibility.


        Stefan



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Concurrency in Emacs
  2012-03-19 15:55 Concurrency in Emacs Stefan Monnier
@ 2012-03-20 15:57 ` Aurélien Aptel
  2012-03-21 17:55   ` Stefan Monnier
  2012-03-26 18:07   ` Stefan Monnier
  0 siblings, 2 replies; 4+ messages in thread
From: Aurélien Aptel @ 2012-03-20 15:57 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

I don't know if it was mentioned in previous posts but the support for
threads in the C implementation of Emacs can be a lot easier with
coccinelle[1].
Coccinelle is a tool that generates diff files for an entire source
tree based a semantic rules. Think of it as a _really smart_ sed with
operators and constructs for C. It's already used in the linux kernel
so it's production ready.


1: http://coccinelle.lip6.fr
Tutorial: http://home.regit.org/technical-articles/coccinelle-for-the-newbie/



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Concurrency in Emacs
  2012-03-20 15:57 ` Aurélien Aptel
@ 2012-03-21 17:55   ` Stefan Monnier
  2012-03-26 18:07   ` Stefan Monnier
  1 sibling, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2012-03-21 17:55 UTC (permalink / raw)
  To: Aurélien Aptel; +Cc: emacs-devel

> I don't know if it was mentioned in previous posts but the support for
> threads in the C implementation of Emacs can be a lot easier with
> coccinelle[1].
> Coccinelle is a tool that generates diff files for an entire source
> tree based a semantic rules. Think of it as a _really smart_ sed with
> operators and constructs for C. It's already used in the linux kernel
> so it's production ready.

Nice tool indeed, thanks.


        Stefan



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Concurrency in Emacs
  2012-03-20 15:57 ` Aurélien Aptel
  2012-03-21 17:55   ` Stefan Monnier
@ 2012-03-26 18:07   ` Stefan Monnier
  1 sibling, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2012-03-26 18:07 UTC (permalink / raw)
  To: Aurélien Aptel; +Cc: emacs-devel

> I don't know if it was mentioned in previous posts but the support for
> threads in the C implementation of Emacs can be a lot easier with
> coccinelle[1].
> Coccinelle is a tool that generates diff files for an entire source
> tree based a semantic rules. Think of it as a _really smart_ sed with
> operators and constructs for C. It's already used in the linux kernel
> so it's production ready.

BTW, it might also be neat to try and get rid of the GCPRO stuff by
replacing it with a coccinelle "semantic patch".


        Stefan



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-03-26 18:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-19 15:55 Concurrency in Emacs Stefan Monnier
2012-03-20 15:57 ` Aurélien Aptel
2012-03-21 17:55   ` Stefan Monnier
2012-03-26 18:07   ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).