glom r1668 - in trunk: . glom/libglom
- From: arminb svn gnome org
- To: svn-commits-list gnome org
- Subject: glom r1668 - in trunk: . glom/libglom
- Date: Sun, 24 Aug 2008 10:42:40 +0000 (UTC)
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]