* 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 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.