summaryrefslogtreecommitdiff
path: root/src/w32notify.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-11-28 21:40:15 +0200
committerEli Zaretskii <eliz@gnu.org>2013-11-28 21:40:15 +0200
commit9c099ca7fd30b424b3e2f183652de888cd9b30b7 (patch)
tree7823c33618b120f588addcfc4321eeeb4e4da901 /src/w32notify.c
parent16555151e0051faad2838505e80fcbd1f744cb9e (diff)
downloademacs-9c099ca7fd30b424b3e2f183652de888cd9b30b7.tar.gz
Fix bug #15933 with crashes in file-notify-tests on MS-Windows.
Support w32 file notifications in batch mode. src/w32proc.c (sys_select): Don't wait on interrupt_handle if it is invalid (which happens in batch mode). If non-interactive, call handle_file_notifications to store file notification events in the input queue. src/w32notify.c (send_notifications): Handle FRAME_INITIAL frames as well. src/w32inevt.c (handle_file_notifications): Now external, not static. src/w32term.h (handle_file_notifications): Provide prototype. src/emacs.c (main) [HAVE_W32NOTIFY]: When non-interactive, call init_crit, since init_display, which does that otherwise, is not called.
Diffstat (limited to 'src/w32notify.c')
-rw-r--r--src/w32notify.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/w32notify.c b/src/w32notify.c
index 1f2ef83b2fd..373e20e8e92 100644
--- a/src/w32notify.c
+++ b/src/w32notify.c
@@ -163,7 +163,12 @@ send_notifications (BYTE *info, DWORD info_size, void *desc,
&& PostThreadMessage (dwMainThreadId, WM_EMACS_FILENOTIFY, 0, 0))
|| (FRAME_W32_P (f)
&& PostMessage (FRAME_W32_WINDOW (f),
- WM_EMACS_FILENOTIFY, 0, 0)))
+ WM_EMACS_FILENOTIFY, 0, 0))
+ /* When we are running in batch mode, there's no one to
+ send a message, so we just signal the data is
+ available and hope sys_select will be called soon and
+ will read the data. */
+ || (FRAME_INITIAL_P (f) && noninteractive))
notification_buffer_in_use = 1;
done = 1;
}