This commit reverts MESOS-3708. Can we please restore the previous ABORT message?
> On Nov 13, 2015, at 9:11 AM, [email protected] wrote: > > Replaced strerror calls in libprocess with os::strerror. > > Review: https://reviews.apache.org/r/39007 > > > Project: http://git-wip-us.apache.org/repos/asf/mesos/repo > Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/ba3be3f3 > Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/ba3be3f3 > Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/ba3be3f3 > > Branch: refs/heads/master > Commit: ba3be3f37e6574c1a9882429fdd0939fd6406c8d > Parents: 2fe9f6b > Author: Benjamin Bannier <[email protected]> > Authored: Fri Nov 13 17:29:12 2015 +0100 > Committer: Benjamin Mahler <[email protected]> > Committed: Fri Nov 13 17:54:19 2015 +0100 > > ---------------------------------------------------------------------- > 3rdparty/libprocess/src/io.cpp | 13 +++++++------ > 3rdparty/libprocess/src/poll_socket.cpp | 7 ++++--- > 3rdparty/libprocess/src/process.cpp | 5 +++-- > 3rdparty/libprocess/src/profiler.cpp | 9 +++++---- > 3rdparty/libprocess/src/subprocess.cpp | 3 ++- > 5 files changed, 21 insertions(+), 16 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/mesos/blob/ba3be3f3/3rdparty/libprocess/src/io.cpp > ---------------------------------------------------------------------- > diff --git a/3rdparty/libprocess/src/io.cpp b/3rdparty/libprocess/src/io.cpp > index 26686e1..1730aaa 100644 > --- a/3rdparty/libprocess/src/io.cpp > +++ b/3rdparty/libprocess/src/io.cpp > @@ -24,6 +24,7 @@ > #include <stout/lambda.hpp> > #include <stout/nothing.hpp> > #include <stout/os.hpp> > +#include <stout/os/strerror.hpp> > #include <stout/try.hpp> > > using std::string; > @@ -92,7 +93,7 @@ void read( > WeakFuture<short>(future))); > } else { > // Error occurred. > - promise->fail(strerror(errno)); > + promise->fail(os::strerror(errno)); > } > } else { > promise->set(length); > @@ -183,7 +184,7 @@ void write( > WeakFuture<short>(future))); > } else { > // Error occurred. > - promise->fail(strerror(errno)); > + promise->fail(os::strerror(errno)); > } > } else { > // TODO(benh): Retry if 'length' is 0? > @@ -276,7 +277,7 @@ Future<size_t> peek(int fd, void* data, size_t size, > size_t limit) > // also make sure it's non-blocking and will close-on-exec. Start by > // checking we've got a "valid" file descriptor before dup'ing. > if (fd < 0) { > - return Failure(strerror(EBADF)); > + return Failure(os::strerror(EBADF)); > } > > fd = dup(fd); > @@ -429,7 +430,7 @@ Future<string> read(int fd) > // also make sure it's non-blocking and will close-on-exec. Start by > // checking we've got a "valid" file descriptor before dup'ing. > if (fd < 0) { > - return Failure(strerror(EBADF)); > + return Failure(os::strerror(EBADF)); > } > > fd = dup(fd); > @@ -475,7 +476,7 @@ Future<Nothing> write(int fd, const std::string& data) > // also make sure it's non-blocking and will close-on-exec. Start by > // checking we've got a "valid" file descriptor before dup'ing. > if (fd < 0) { > - return Failure(strerror(EBADF)); > + return Failure(os::strerror(EBADF)); > } > > fd = dup(fd); > @@ -510,7 +511,7 @@ Future<Nothing> redirect(int from, Option<int> to, size_t > chunk) > { > // Make sure we've got "valid" file descriptors. > if (from < 0 || (to.isSome() && to.get() < 0)) { > - return Failure(strerror(EBADF)); > + return Failure(os::strerror(EBADF)); > } > > if (to.isNone()) { > > http://git-wip-us.apache.org/repos/asf/mesos/blob/ba3be3f3/3rdparty/libprocess/src/poll_socket.cpp > ---------------------------------------------------------------------- > diff --git a/3rdparty/libprocess/src/poll_socket.cpp > b/3rdparty/libprocess/src/poll_socket.cpp > index 85cd864..1daeb03 100644 > --- a/3rdparty/libprocess/src/poll_socket.cpp > +++ b/3rdparty/libprocess/src/poll_socket.cpp > @@ -19,6 +19,7 @@ > #include <process/socket.hpp> > > #include <stout/os/sendfile.hpp> > +#include <stout/os/strerror.hpp> > > #include "config.hpp" > #include "poll_socket.hpp" > @@ -72,7 +73,7 @@ Future<Socket> accept(int fd) > // Turn off Nagle (TCP_NODELAY) so pipelined requests don't wait. > int on = 1; > if (setsockopt(s, SOL_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) { > - const char* error = strerror(errno); > + const string error = os::strerror(errno); > VLOG(1) << "Failed to turn off the Nagle algorithm: " << error; > os::close(s); > return Failure( > @@ -159,7 +160,7 @@ Future<size_t> socket_send_data(int s, const char* data, > size_t size) > } else if (length <= 0) { > // Socket error or closed. > if (length < 0) { > - const char* error = strerror(errno); > + const string error = os::strerror(errno); > VLOG(1) << "Socket error while sending: " << error; > } else { > VLOG(1) << "Socket closed while sending"; > @@ -195,7 +196,7 @@ Future<size_t> socket_send_file(int s, int fd, off_t > offset, size_t size) > } else if (length <= 0) { > // Socket error or closed. > if (length < 0) { > - const char* error = strerror(errno); > + const string error = os::strerror(errno); > VLOG(1) << "Socket error while sending: " << error; > } else { > VLOG(1) << "Socket closed while sending"; > > http://git-wip-us.apache.org/repos/asf/mesos/blob/ba3be3f3/3rdparty/libprocess/src/process.cpp > ---------------------------------------------------------------------- > diff --git a/3rdparty/libprocess/src/process.cpp > b/3rdparty/libprocess/src/process.cpp > index 6ab4070..b45b5b1 100644 > --- a/3rdparty/libprocess/src/process.cpp > +++ b/3rdparty/libprocess/src/process.cpp > @@ -89,6 +89,7 @@ > #include <stout/numify.hpp> > #include <stout/option.hpp> > #include <stout/os.hpp> > +#include <stout/os/strerror.hpp> > #include <stout/path.hpp> > #include <stout/strings.hpp> > #include <stout/synchronized.hpp> > @@ -1096,14 +1097,14 @@ bool HttpProxy::process(const Future<Response>& > future, const Request& request) > VLOG(1) << "Returning '404 Not Found' for path '" << path << "'"; > socket_manager->send(NotFound(), request, socket); > } else { > - const char* error = strerror(errno); > + const string error = os::strerror(errno); > VLOG(1) << "Failed to send file at '" << path << "': " << error; > socket_manager->send(InternalServerError(), request, socket); > } > } else { > struct stat s; // Need 'struct' because of function named 'stat'. > if (fstat(fd, &s) != 0) { > - const char* error = strerror(errno); > + const string error = os::strerror(errno); > VLOG(1) << "Failed to send file at '" << path << "': " << error; > socket_manager->send(InternalServerError(), request, socket); > } else if (S_ISDIR(s.st_mode)) { > > http://git-wip-us.apache.org/repos/asf/mesos/blob/ba3be3f3/3rdparty/libprocess/src/profiler.cpp > ---------------------------------------------------------------------- > diff --git a/3rdparty/libprocess/src/profiler.cpp > b/3rdparty/libprocess/src/profiler.cpp > index 0c51556..48a6a42 100644 > --- a/3rdparty/libprocess/src/profiler.cpp > +++ b/3rdparty/libprocess/src/profiler.cpp > @@ -28,6 +28,7 @@ > #include "stout/format.hpp" > #include "stout/option.hpp" > #include "stout/os.hpp" > +#include "stout/os/strerror.hpp" > > namespace process { > > @@ -84,10 +85,10 @@ Future<http::Response> Profiler::start(const > http::Request& request) > // https://groups.google.com/d/topic/google-perftools/Df10Uy4Djrg/discussion > // NOTE: We have not tested this with libunwind > 1.0.1. > if (!ProfilerStart(PROFILE_FILE.c_str())) { > - std::string error = > - strings::format("Failed to start profiler: %s", strerror(errno)).get(); > - LOG(ERROR) << error; > - return http::InternalServerError(error); > + Try<std::string> error = > + strings::format("Failed to start profiler: %s", os::strerror(errno)); > + LOG(ERROR) << error.get(); > + return http::InternalServerError(error.get()); > } > > started = true; > > http://git-wip-us.apache.org/repos/asf/mesos/blob/ba3be3f3/3rdparty/libprocess/src/subprocess.cpp > ---------------------------------------------------------------------- > diff --git a/3rdparty/libprocess/src/subprocess.cpp > b/3rdparty/libprocess/src/subprocess.cpp > index efe0018..58d0c1f 100644 > --- a/3rdparty/libprocess/src/subprocess.cpp > +++ b/3rdparty/libprocess/src/subprocess.cpp > @@ -30,6 +30,7 @@ > #include <stout/foreach.hpp> > #include <stout/option.hpp> > #include <stout/os.hpp> > +#include <stout/os/strerror.hpp> > #include <stout/strings.hpp> > #include <stout/try.hpp> > #include <stout/unreachable.hpp> > @@ -176,7 +177,7 @@ static int childMain( > > os::execvpe(path.c_str(), argv, envp); > > - ABORT("Failed to os::execvpe on path '" + path + "': " + strerror(errno)); > + ABORT("Failed to os::execvpe in childMain: " + os::strerror(errno)); > } > > >
