all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: dancol@dancol.org, monnier@iro.umontreal.ca, kbrown@cornell.edu,
	emacs-devel@gnu.org
Subject: Re: Using glib's g_file_monitor_file and g_file_monitor_directory
Date: Mon, 03 Jun 2013 15:21:15 +0200	[thread overview]
Message-ID: <87bo7ngwj8.fsf@gmx.de> (raw)
In-Reply-To: 83bo7ozc0q.fsf@gnu.org

Eli Zaretskii <eliz@gnu.org> writes:

Hi Eli,

> First, I guess you tested this in a build that was linked against glib
> regardless of gfilenotify.c.  Otherwise, I don't understand how it
> compiled and linked for you under --with-file-notification=gfile,
> because the compiler and linker flags reported by pkg-config for glib
> were not propagated to src/Makefile.  The first 2 hunks below fix
> that.  I don't think this is specific to w32, but feel free to point
> out what I missed.

Under GNU/Linux, there are no additional cflags needed, so I didn't miss
them :-)

> When I used --with-file-notification=gfile, Emacs built OK, but
> crashed in the bowels of glib the moment auto-revert-mode called the
> glib monitor.  I post the backtrace below, for the record.  The glib
> libraries I installed were stripped, so I couldn't step through their
> code on the source level.  However, by comparing the disassembly with
> the source code, I concluded that it crashes here:
>
>   void
>   _g_io_modules_ensure_extension_points_registered (void)
>   {
>     static gboolean registered_extensions = FALSE;
>     GIOExtensionPoint *ep;
>
>     G_LOCK (registered_extensions);   <<<<<<<<<<<<<<<<<<<<<<

G_LOCK is a macro in gthread.h. I don't know, how multithreading of glib
works on MS Windows.

> So I guess we won't be recommending glib file notifications to Emacs
> users on Windows just yet ;-)

Yep. Maybe it is worth to be mentioned in etc/PROBLEMS. Would be
interesting to know how it behaves under cygwin, or osx.

> Perhaps someone who knows more about glib on Windows will be able to
> explain the crash and suggest a solution.

At least it would be great to find a test for configure.ac, that we can
kick off glib on Windows in case.

> Finally, here are the changes I suggest on top of yours:

Thanks, works fine here. I have applied my patch to the trunk. You could
apply your patch on top of it (or tell me to do it for you).

I will to add some few lines to etc/NEWS and to the doc. Afterwards, we
could start to think how a general file notifications interface shall
look like.

Best regards, Michael.



  reply	other threads:[~2013-06-03 13:21 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-20 20:40 Using glib's g_file_monitor_file and g_file_monitor_directory Michael Albinus
2013-03-21 14:06 ` Ted Zlatanov
2013-03-21 14:54   ` Michael Albinus
2013-03-21 16:05     ` Ted Zlatanov
2013-03-22  7:52       ` Michael Albinus
2013-04-01 11:36 ` Michael Albinus
2013-04-01 17:50   ` Jan Djärv
2013-04-03 18:12   ` Stefan Monnier
2013-04-03 19:21     ` James Cloos
2013-04-03 19:36       ` Eli Zaretskii
2013-04-03 20:46         ` James Cloos
2013-04-03 19:55       ` Michael Albinus
2013-04-03 19:58         ` James Cloos
2013-04-04  0:49       ` Stefan Monnier
2013-05-28 10:39     ` Michael Albinus
2013-05-28 14:44       ` Paul Eggert
2013-05-28 15:33         ` Eli Zaretskii
2013-05-28 16:02           ` Paul Eggert
2013-05-28 16:21             ` Stefan Monnier
2013-05-28 16:45               ` Eli Zaretskii
2013-05-28 18:19                 ` Stefan Monnier
2013-05-29 13:46               ` Michael Albinus
2013-05-29 14:03                 ` Stefan Monnier
2013-05-29 14:09                   ` Michael Albinus
2013-05-29 17:40                     ` Stefan Monnier
2013-05-30 14:09                       ` Michael Albinus
2013-05-30 21:08                         ` Stefan Monnier
2013-05-28 16:43             ` Eli Zaretskii
2013-05-28 16:52               ` Paul Eggert
2013-05-28 16:59                 ` Eli Zaretskii
2013-05-28 19:32                   ` Paul Eggert
2013-05-28 15:58         ` Michael Albinus
2013-05-28 19:04           ` Paul Eggert
2013-05-28 20:31             ` Michael Albinus
2013-05-28 20:38               ` Paul Eggert
2013-05-29  6:12                 ` Michael Albinus
2013-05-31  1:42                   ` bug#14474: " Paul Eggert
2013-05-31 18:39                     ` Michael Albinus
2013-05-31 19:24                       ` Paul Eggert
2013-05-31 20:59                         ` Michael Albinus
2013-05-31 22:08                         ` Jan Djärv
2013-05-28 15:29       ` Eli Zaretskii
2013-05-29 13:30         ` Michael Albinus
2013-05-29 15:25           ` Eli Zaretskii
2013-05-29 15:57             ` Michael Albinus
2013-05-30 20:15               ` Daniel Colascione
2013-05-31  6:38                 ` Michael Albinus
2013-06-02 16:57               ` Eli Zaretskii
2013-06-03 13:21                 ` Michael Albinus [this message]
2013-06-03 15:12                   ` Eli Zaretskii
2013-06-03 15:30                     ` Glenn Morris
2013-06-03 16:29                       ` Eli Zaretskii
2013-06-03 17:04                         ` Eli Zaretskii
2013-06-03 17:27                           ` Glenn Morris
2013-06-03 19:41                             ` Michael Albinus
2013-06-04  6:09                               ` Paul Eggert
2013-06-05 13:25                                 ` Michael Albinus
2013-06-05 18:37                                   ` Jan Djärv
2013-06-06 11:06                                     ` Michael Albinus
2013-06-07 10:53                                       ` Jan Djärv
2013-06-07 12:18                                         ` Michael Albinus
2013-06-07 14:22                                           ` Jan Djärv
2013-06-07 14:50                                             ` Michael Albinus
2013-06-08  8:50                                               ` Jan Djärv
2013-06-04  6:45                               ` Paul Eggert
2013-06-04 15:16                                 ` Eli Zaretskii
2013-06-04 15:50                                   ` Paul Eggert
2013-06-05  1:23                                     ` Stefan Monnier
2013-06-06  7:10                                       ` Paul Eggert
2013-06-03 19:10                     ` Michael Albinus
2013-05-30 11:11             ` Ken Brown
2013-05-28 15:30       ` Eli Zaretskii
2013-05-29 13:31         ` Michael Albinus

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=87bo7ngwj8.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --cc=dancol@dancol.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=kbrown@cornell.edu \
    --cc=monnier@iro.umontreal.ca \
    /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.