[gnome-video-arcade] Add a ChangeLog entry for Pierre's changes.



commit f7b520c0058d463618ef6910b144a4fd54187d6e
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sat Apr 11 15:29:00 2009 -0400

    Add a ChangeLog entry for Pierre's changes.
---
 ChangeLog |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9725cc1..6573294 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2009-04-11  Pierre Riteau  <pierre riteau gmail com>
+
+	The code reading the output of the SDLMAME child process was
+	non-functional on OpenBSD because of differences of behavior
+	for poll(2).  When poll(2) monitors output from a pipe which
+	reaches EOF, the revents flags returned by poll(2) differ
+	between implementations.  Linux only sets the POLLHUP flag,
+	while OpenBSD sets both the POLLIN and the POLLHUP flags.
+
+	Since the condition variable given as argument to
+	process_stdout_ready() is partially derived from the revents
+	flags, process_stdout_ready() on OpenBSD is called with
+	G_IO_IN|G_IO_HUP when we hit EOF.  With these flags, the event
+	source is not removed, and process_stdout_ready() is called
+	again and again.
+
+	* src/gva-process.c (process_read_line), (process_stdout_ready),
+	(process_stderr_ready):
+	Modify the process_read_line() function to return the status
+	reported by g_io_channel_read_line().  This makes is possible
+	for process_stdout_ready() and process_stderr_ready() to remove
+	the event source when the status is not G_IO_STATUS_NORMAL.
+
 2009-04-10  Matthew Barnes  <mbarnes redhat com>
 
 	* data/gnome-video-arcade.schemas:



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