author | erik <erik> | 2007-01-19 01:18:01 (UTC) |
---|---|---|
committer | erik <erik> | 2007-01-19 01:18:01 (UTC) |
commit | 32343107b30904806d02672955c57ed53d39fe79 (patch) (side-by-side diff) | |
tree | 9114a0ea170e3adc807a2445b49360f1bfde9626 /core/launcher | |
parent | ac0ce844e90a64247c0adb210e0a23021b011d57 (diff) | |
download | opie-32343107b30904806d02672955c57ed53d39fe79.zip opie-32343107b30904806d02672955c57ed53d39fe79.tar.gz opie-32343107b30904806d02672955c57ed53d39fe79.tar.bz2 |
Every file in this commit has a change to check the return value of a call.
-rw-r--r-- | core/launcher/qprocess_unix.cpp | 6 | ||||
-rw-r--r-- | core/launcher/server.cpp | 19 |
2 files changed, 19 insertions, 6 deletions
diff --git a/core/launcher/qprocess_unix.cpp b/core/launcher/qprocess_unix.cpp index 97c0460..3125bcc 100644 --- a/core/launcher/qprocess_unix.cpp +++ b/core/launcher/qprocess_unix.cpp @@ -310,13 +310,17 @@ void QProcessManager::removeMe() } } void QProcessManager::sigchldHnd( int fd ) { char tmp; - ::read( fd, &tmp, sizeof(tmp) ); + if (::read( fd, &tmp, sizeof(tmp) ) < 0) +#if defined(QT_QPROCESS_DEBUG) + odebug << "QProcessManager::sigchldHnd() failed dummy read of file descriptor" << oendl; +#endif + ; #if defined(QT_QPROCESS_DEBUG) odebug << "QProcessManager::sigchldHnd()" << oendl; #endif QProc *proc; QProcess *process; bool removeProc; diff --git a/core/launcher/server.cpp b/core/launcher/server.cpp index 921b790..c45265a 100644 --- a/core/launcher/server.cpp +++ b/core/launcher/server.cpp @@ -364,22 +364,30 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data) QString baseFile, sigFile, deltaFile; stream >> baseFile >> sigFile >> deltaFile; QRsync::generateDiff( baseFile, sigFile, deltaFile ); } else if ( msg == "rdiffApplyPatch(QString,QString)" ) { QString baseFile, deltaFile; stream >> baseFile >> deltaFile; + bool fileWasCreated = false; if ( !QFile::exists( baseFile ) ) { QFile f( baseFile ); - f.open( IO_WriteOnly ); + fileWasCreated = f.open( IO_WriteOnly ); f.close(); } - QRsync::applyDiff( baseFile, deltaFile ); + if ( fileWasCreated ) { + QRsync::applyDiff( baseFile, deltaFile ); #ifndef QT_NO_COP - QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); - e << baseFile; + QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); + e << baseFile; #endif + } else { +#ifndef QT_NO_COP + QCopEnvelope e( "QPE/Desktop", "patchUnapplied(QString)" ); + e << baseFile; +#endif + } } else if ( msg == "rdiffCleanup()" ) { mkdir( "/tmp/rdiff" ); QDir dir; dir.setPath( "/tmp/rdiff" ); QStringList entries = dir.entryList(); for ( QStringList::Iterator it = entries.begin(); it != entries.end(); ++it ) @@ -995,12 +1003,13 @@ void Server::startSoundServer() { connect(process, SIGNAL(processExited(Opie::Core::OProcess*)), SLOT(soundServerExited())); } process->clearArguments(); *process << QPEApplication::qpeDir() + "bin/qss"; - process->start(); + if (!process->start()) + owarn << "Sound server process did not start" << oendl; } void Server::soundServerExited() { QTimer::singleShot(5000, this, SLOT(startSoundServer())); } |