emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r110947: Fix ChangeLog entries for


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r110947: Fix ChangeLog entries for the last commit.
Date: Sat, 24 Nov 2012 08:24:13 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110947
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Sat 2012-11-24 08:24:13 +0200
message:
  Fix ChangeLog entries for the last commit.
modified:
  nt/ChangeLog
  src/ChangeLog
=== modified file 'nt/ChangeLog'
--- a/nt/ChangeLog      2012-11-23 22:20:31 +0000
+++ b/nt/ChangeLog      2012-11-24 06:24:13 +0000
@@ -1,10 +1,8 @@
-2012-11-23  Paul Eggert  <address@hidden>
+2012-11-23  Eli Zaretskii  <address@hidden>
 
        Fix a race condition with glib (Bug#8855).
        This is a backport from the trunk, consisting of:
 
-       2012-11-17  Eli Zaretskii  <address@hidden>
-
        * inc/sys/wait.h: New file, with prototype of waitpid and
        definitions of macros it needs.
        * inc/ms-w32.h (wait): Don't define, 'wait' is not used anymore.

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-11-23 22:20:31 +0000
+++ b/src/ChangeLog     2012-11-24 06:24:13 +0000
@@ -1,10 +1,19 @@
 2012-11-23  Paul Eggert  <address@hidden>
+           Eli Zaretskii  <address@hidden>
 
        Fix a race condition with glib (Bug#8855).
+       The symptom is a diagnostic "GLib-WARNING **: In call to
+       g_spawn_sync(), exit status of a child process was requested but
+       SIGCHLD action was set to SIG_IGN and ECHILD was received by
+       waitpid(), so exit status can't be returned."  The diagnostic
+       is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
+       The real bug is a race condition between Emacs and glib: Emacs
+       does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
+       so that glib can't find it.  Work around the bug by invoking
+       waitpid only on subprocesses that Emacs itself creates.
+
        This is a backport from the trunk, consisting of:
 
-       2012-11-17  Eli Zaretskii  <address@hidden>
-
        * w32proc.c (create_child): Don't clip the PID of the child
        process to fit into an Emacs integer, as this is no longer a
        restriction.
@@ -20,26 +29,10 @@
 
        * process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions,
        no longer needed.
-       (record_child_status_change): Remove the setting of
-       record_at_most_one_child for the !WNOHANG case.
-
-       2012-11-03  Paul Eggert  <address@hidden>
-
-       Fix a race condition that causes Emacs to mess up glib (Bug#8855).
-       This is a backport from the trunk.
-       The symptom is a diagnostic "GLib-WARNING **: In call to
-       g_spawn_sync(), exit status of a child process was requested but
-       SIGCHLD action was set to SIG_IGN and ECHILD was received by
-       waitpid(), so exit status can't be returned."  The diagnostic
-       is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
-       The real bug is a race condition between Emacs and glib: Emacs
-       does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
-       so that glib can't find it.  Work around the bug by invoking
-       waitpid only on subprocesses that Emacs itself creates.
-       * process.c (create_process, record_child_status_change):
-       Don't use special value -1 in pid field, as the caller now must
-       know the pid rather than having the callee infer it.  The
-       inference was sometimes incorrect anyway, due to another race.
+       (create_process, record_child_status_change): Don't use special
+       value -1 in pid field, as the caller now must know the pid rather
+       than having the callee infer it.  The inference was sometimes
+       incorrect anyway, due to another race.
        (create_process): Set new 'alive' member if child is created.
        (process_status_retrieved): New function.
        (record_child_status_change): Use it.
@@ -47,7 +40,8 @@
        processes that Emacs already knows about.  Move special-case code
        for DOS_NT (which lacks WNOHANG) here, from caller.  Keep track of
        processes that have already been waited for, by testing and
-       clearing new 'alive' member.
+       clearing new 'alive' member. Remove the setting of
+       record_at_most_one_child for the !WNOHANG case.
        (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change
        now does this internally.
        (handle_child_signal): Let record_child_status_change do all


reply via email to

[Prev in Thread] Current Thread [Next in Thread]