From: "Jan Djärv" <jan.h.d@swipnet.se>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: Paul Michael Reilly <pmr@pajato.com>,
John Wiegley <johnw@newartisans.com>,
"emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: Re: Emacs on OS X development
Date: Wed, 25 Jul 2012 09:38:47 +0200 [thread overview]
Message-ID: <336623D7-ED08-4D23-909F-8DBDC6A7712D@swipnet.se> (raw)
In-Reply-To: <jwvk3xth6zb.fsf-monnier+emacs@gnu.org>
Hello.
24 jul 2012 kl. 11:01 skrev Stefan Monnier <monnier@IRO.UMontreal.CA>:
>> I have a plan to do more or less what Gdk does on OSX, use lower level (Core
>> Foundation) API:s. The NS-port has many special things (resizing, redrawing
>> and more) that depends on how things are done now, so it isn't
>> just a replacement of a few functions.
>> I haven't looked at the Mac port, but if it uses CF for the event loop, code
>> may be reused from there.
>> The basic concept is to have one thread for file descriptors and let the
>> main thread deal with Cocoa events. The code today does something similar,
>> but it relies on polling each 0.1 second.
>
> Could you add this discussion to etc/TODO, adding as much detail as you
> (and others) can about how it works now and how it could be changed?
I will do that within couple of days.
> BTW, why not use the main thread for file-descriptors?
When Emacs isn't talking to subprocesses or the network there are no file descriptors. In that case we can manage with just the normal NS event loop and we do not need to communicate with another thread. I think this is a very common case (that is, it is how I use Emacs most of the time :-).
Also, the NS event loop is already setup in the main thread, it requires some setup in other threads.
Communicate the data and result for a select call between threads is much easier than handling events between threads.
Jan D.
next prev parent reply other threads:[~2012-07-25 7:38 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-12 4:06 Emacs on OS X development Lars Magne Ingebrigtsen
2011-09-12 7:23 ` Rasmus
2011-09-12 7:59 ` Glenn Morris
2011-09-13 16:37 ` Adrian Robert
2011-09-13 17:51 ` John Wiegley
2011-09-13 18:27 ` Glenn Morris
2011-09-13 18:43 ` John Wiegley
2011-09-13 18:56 ` Glenn Morris
2011-09-13 19:19 ` David Reitter
2011-09-14 1:13 ` Leo
2011-09-14 1:31 ` Stefan Monnier
2012-07-13 0:23 ` John Wiegley
2012-07-13 0:57 ` Paul Michael Reilly
2012-07-13 1:18 ` chad
2012-07-13 1:07 ` chad
2012-07-13 3:12 ` John Wiegley
2012-07-20 13:51 ` Ted Zlatanov
2012-07-21 9:40 ` Pavlo Martynenko
2012-07-21 14:02 ` Michael Albinus
2012-07-24 6:39 ` Pavlo Martynenko
2012-07-25 13:11 ` Michael Albinus
2012-07-21 16:53 ` chad
2012-07-24 13:04 ` Pavlo Martynenko
2012-07-24 14:45 ` Ted Zlatanov
2012-07-25 3:00 ` John Wiegley
2012-07-25 14:41 ` Ted Zlatanov
2012-07-26 22:58 ` YAMAMOTO Mitsuharu
2012-07-29 17:58 ` Donald Curtis
2012-07-29 22:31 ` Ted Zlatanov
2012-07-30 0:04 ` Óscar Fuentes
2012-07-30 3:25 ` Eli Zaretskii
2012-07-30 4:48 ` Óscar Fuentes
2012-07-30 5:06 ` Eli Zaretskii
2012-07-30 22:40 ` Stefan Monnier
2012-07-30 23:01 ` Paul Eggert
2012-07-31 1:38 ` Óscar Fuentes
2012-07-31 13:50 ` Nix
2012-07-31 15:58 ` Ted Zlatanov
2012-08-02 5:16 ` YAMAMOTO Mitsuharu
2012-08-03 21:15 ` Dave Abrahams
2012-07-31 18:31 ` Adrian Robert
2012-08-03 20:08 ` Ted Zlatanov
2012-08-03 20:28 ` Adrian Robert
2012-08-05 12:51 ` Jan Djärv
2012-12-21 17:20 ` Ted Zlatanov
2012-12-23 14:50 ` Jan Djärv
2012-12-24 0:23 ` YAMAMOTO Mitsuharu
2012-12-24 10:22 ` Jan Djärv
2012-07-25 7:17 ` chad
2012-07-27 12:17 ` Pavlo Martynenko
2012-07-22 9:31 ` Stefan Monnier
2012-07-22 22:16 ` Paul Michael Reilly
2012-07-23 7:26 ` Ivan Andrus
2012-07-23 8:46 ` Stefan Monnier
2012-07-23 13:52 ` Paul Michael Reilly
2012-07-23 19:45 ` John Wiegley
2012-07-23 20:11 ` Eli Zaretskii
2012-07-23 23:12 ` John Wiegley
2012-07-23 20:20 ` Paul Eggert
2012-07-23 23:13 ` John Wiegley
2012-07-23 20:46 ` Jan Djärv
2012-07-23 21:17 ` Paul Michael Reilly
2012-07-23 21:28 ` Jan Djärv
2012-07-23 23:26 ` Stefan Monnier
2012-07-24 6:25 ` Jan Djärv
2012-07-24 8:36 ` YAMAMOTO Mitsuharu
2012-07-25 7:27 ` Jan Djärv
2012-07-25 8:15 ` YAMAMOTO Mitsuharu
2012-07-24 9:01 ` Stefan Monnier
2012-07-25 7:38 ` Jan Djärv [this message]
2012-07-24 16:09 ` Eli Zaretskii
2012-07-25 7:43 ` Jan Djärv
2012-07-23 23:15 ` John Wiegley
2012-07-23 23:40 ` chad
2012-07-23 21:45 ` chad
2012-07-23 23:00 ` John Wiegley
2012-07-24 1:13 ` Leo
2012-07-23 18:57 ` Ted Zlatanov
2012-07-13 3:28 ` Le Wang
2012-07-13 10:02 ` Jan Djärv
2012-07-13 10:45 ` Ivan Andrus
2012-07-14 8:39 ` Jan Djärv
2012-07-13 12:09 ` Stefan Monnier
2012-07-13 14:00 ` René Kyllingstad
2012-07-13 17:48 ` John Wiegley
2012-07-13 18:16 ` Jan Djärv
2012-07-13 19:07 ` Glenn Morris
2012-07-13 19:54 ` John Wiegley
2012-07-13 20:12 ` Paul Michael Reilly
2012-07-13 20:32 ` Ivan Andrus
2012-07-13 21:04 ` John Wiegley
2012-07-13 21:44 ` chad
2012-07-13 22:30 ` John Wiegley
2012-07-14 10:35 ` Sudish Joseph
2012-07-14 9:00 ` Jan Djärv
2012-07-14 22:56 ` John Wiegley
2012-07-15 0:54 ` Chong Yidong
2012-07-15 2:45 ` YAMAMOTO Mitsuharu
2012-07-15 3:40 ` John Wiegley
2012-07-15 13:12 ` Paul Michael Reilly
2012-07-15 17:50 ` chad
2012-07-15 21:20 ` Donald Curtis
2012-07-15 21:34 ` Donald Curtis
2012-07-15 22:11 ` chad
2012-07-15 22:22 ` David Reitter
2012-07-18 0:16 ` YAMAMOTO Mitsuharu
2012-07-18 2:56 ` John Wiegley
2012-07-18 3:42 ` YAMAMOTO Mitsuharu
2012-07-18 8:21 ` Pavlo Martynenko
2012-07-18 20:43 ` Donald Curtis
2012-07-18 21:03 ` chad
2012-07-19 8:12 ` Jan Djärv
2012-07-18 17:19 ` Richard Stallman
2012-07-19 13:31 ` Pavlo Martynenko
2012-07-15 22:19 ` David Reitter
2012-07-16 2:20 ` Richard Stallman
2012-07-17 10:18 ` Pavlo Martynenko
2012-07-17 12:14 ` William Stevenson
2012-07-15 21:52 ` Stefan Monnier
2012-07-13 17:48 ` John Wiegley
2011-09-14 2:21 ` chad
2011-09-14 3:00 ` Lars Magne Ingebrigtsen
2011-09-14 12:54 ` Jan D.
2011-09-13 19:51 ` Jan Djärv
2011-09-13 19:57 ` Adrian Robert
2011-09-13 20:33 ` Jan Djärv
2011-09-13 20:05 ` Richard Stallman
2011-09-13 21:47 ` John Wiegley
2011-09-14 1:59 ` Richard Stallman
2011-09-14 2:09 ` John Wiegley
2011-09-14 14:10 ` Richard Stallman
2011-09-14 14:30 ` Stephen Eilert
2011-09-14 18:06 ` Glenn Morris
2011-09-15 4:11 ` Richard Stallman
2012-07-13 1:14 ` Samuel Bronson
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=336623D7-ED08-4D23-909F-8DBDC6A7712D@swipnet.se \
--to=jan.h.d@swipnet.se \
--cc=emacs-devel@gnu.org \
--cc=johnw@newartisans.com \
--cc=monnier@IRO.UMontreal.CA \
--cc=pmr@pajato.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.