diff options
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/posix/QpiddBroker.cpp | 10 | ||||
| -rwxr-xr-x | qpid/cpp/src/qpid/sys/posix/LockFile.cpp | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/qpid/cpp/src/posix/QpiddBroker.cpp b/qpid/cpp/src/posix/QpiddBroker.cpp index fd2fb6184f..76e3bb6674 100644 --- a/qpid/cpp/src/posix/QpiddBroker.cpp +++ b/qpid/cpp/src/posix/QpiddBroker.cpp @@ -154,8 +154,14 @@ int QpiddBroker::execute (QpiddOptions *options) { throw Exception("Internal error obtaining platform options"); if (myOptions->daemon.check || myOptions->daemon.quit) { - pid_t pid = Daemon::getPid(myOptions->daemon.piddir, - options->broker.port); + pid_t pid; + try { + pid = Daemon::getPid(myOptions->daemon.piddir, options->broker.port); + } catch (const ErrnoException& e) { + // This is not a critical error, usually means broker is not running + QPID_LOG(notice, "Cannot stop broker: " << e.what()); + return 1; + } if (pid < 0) return 1; if (myOptions->daemon.check) diff --git a/qpid/cpp/src/qpid/sys/posix/LockFile.cpp b/qpid/cpp/src/qpid/sys/posix/LockFile.cpp index c1f1c37b47..9fdf83f1bd 100755 --- a/qpid/cpp/src/qpid/sys/posix/LockFile.cpp +++ b/qpid/cpp/src/qpid/sys/posix/LockFile.cpp @@ -46,7 +46,7 @@ LockFile::LockFile(const std::string& path_, bool create) errno = 0; int flags=create ? O_WRONLY|O_CREAT|O_NOFOLLOW : O_RDWR; int fd = ::open(path.c_str(), flags, 0644); - if (fd < 0) throw ErrnoException("Cannot open " + path, errno); + if (fd < 0) throw ErrnoException("Cannot open lock file " + path, errno); if (::lockf(fd, F_TLOCK, 0) < 0) { ::close(fd); throw ErrnoException("Cannot lock " + path, errno); |
