glom r1668 - in trunk: . glom/libglom



Author: arminb
Date: Sun Aug 24 10:42:40 2008
New Revision: 1668
URL: http://svn.gnome.org/viewvc/glom?rev=1668&view=rev

Log:
2008-08-24  Armin Burgmeier  <armin openismus com>

	* glom/libglom/spawn_with_feedback.cc
	(execute_command_line_and_wait_until_second_command_returns_success):
	Set the encoding of the IO channel to read stderr from the child
	process from to "", and set it to be unbuffered. Otherwise, we
	sometimes receive an IO_IN event on Windows, but when trying to read
	any data, then the read() call blocks the whole process forever.


Modified:
   trunk/ChangeLog
   trunk/glom/libglom/spawn_with_feedback.cc

Modified: trunk/glom/libglom/spawn_with_feedback.cc
==============================================================================
--- trunk/glom/libglom/spawn_with_feedback.cc	(original)
+++ trunk/glom/libglom/spawn_with_feedback.cc	Sun Aug 24 10:42:40 2008
@@ -397,6 +397,9 @@
 #endif // !GLIBMM_EXCEPTIONS_ENABLED
 #endif // !G_OS_WIN32
 
+  err->set_encoding("");
+  err->set_buffered(false);
+
   sigc::connection stderr_conn = Glib::signal_io().connect(sigc::bind(sigc::ptr_fun(&on_stderr_input), err, sigc::ref(stderr_text)), err, Glib::IO_IN);
 
   sigc::connection watch_conn = Glib::signal_child_watch().connect(sigc::bind(sigc::ptr_fun(&on_child_watch), sigc::ref(child_exited), dialog_temp), child_pid);



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