[Geany-devel] GIO file monitor - Re: Changed file saving implementation for systems with GIO

Lex Trotman elextr at xxxxx
Sun Nov 14 10:24:39 UTC 2010


On 14 November 2010 20:31, Eugene Arshinov <earshinov at gmail.com> wrote:
> Hi.
>
> I don't know whether it was this change which caused this, but after I
> updated recently to r5395 and turned on the #define in document.c which
> controls using GIO file monitor, each time I save a document (I only
> use local filesystems) I get a dialog telling me the file was changed.
> In debug output coming from document.c:monitor_file_changed_cb() I see
> that CHANGE notification is sent twice after a file is saved.  Maybe
> it's g_file_replace_contents() which cause this,

Possibly, g_file_replace_contents writes to the temp file and then
renames the temp file to the old file, but why two??.

The interesting thing is why doesn't any change to the file trigger
the monitor no matter how its written??  Why does it only happen for
GIO IO??

 or it's a bug in my
> GLib version, I don't know.

Which version??

 I changed the code of the callback to
> check mtime before setting doc->file_disk_status to CHANGE, and file
> saving is now works correctly for me.  If you think this change is
> meaningful, consider the patch I attach.  Apart of the change in the
> callback it contains some other staff (which you may wish to not
> commit).

Well thats one way of telling the monitor that we know about the
changes because we caused them :-)

Cheers
Lex

>
> Best regards,
> Eugene.
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
>
>



More information about the Devel mailing list