On Tue, 2010-05-11 at 16:19 -0400, José Alburquerque wrote: > On Tue, 2010-05-11 at 19:37 +0000, pub wrote: > > int pipefd2[2]; /* Read pipe from child */ > > > > Glib::RefPtr<Glib::IOChannel> readChannel; > > > > > > //Instantiate > > Playback playback; > > > > // Connect the signal handler > > Glib::signal_io().connect(sigc::mem_fun(playback, > > &Playback::readpipe), pipefd2[r], Glib::IO_IN); > > > > // Create a writeChannel from the file descriptor > > writeChannel = Glib::IOChannel::create_from_fd(pipefd1[w]); > > > > // Create a readChannel from the file descriptor > > readChannel = Glib::IOChannel::create_from_fd(pipefd2[r]); > > > > app.run(playback); > > > > > > // Read From Pipe > > bool Playback::readpipe(Glib::IOCondition read_condition) > > { > > static int linecount; // Total lines expected > > static int count; // Count of lines received > > > > > > > > if ((read_condition & Glib::IO_IN) == 0) > > { > > std::cerr << "Exxx: Invalid read response" << std::endl; > > } > > else > > { > > #ifdef GLIBMM_EXCEPTIONS_ENABLED > > readChannel->read_line(readbuffer); > > #else > > std::auto_ptr<Glib::Error> ex; > > readChannel->read_line(readbuffer, ex); > > if(ex.get()) > > std::cerr << "Exxx: " << ex->what() << std::endl; > > #endif //GLIBMM_EXCEPTIONS_ENABLED > > > > /* Append message read from pipe to textbuffer */ > > m_msg->insert(m_msg->end(), readbuffer); > > } > > return true; > > } //End of readpipe() > > My suggestion would be to try running the code through a debugger. I > find this a lot easier than guessing at what is happening (unless > something is blatantly clear from a quick look at the code). Perhaps > others can more quickly see the problem than I can right now.
scratch "right now". -- José _______________________________________________ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list