-/* Copyright (c) 2015. The SimGrid Team.
+/* Copyright (c) 2015-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include <libunwind.h>
#include <libunwind-ptrace.h>
-#include "src/mc/Process.hpp"
-#include "src/mc/mc_unw.h"
+#include "src/mc/mc_unw.hpp"
+#include "src/mc/remote/RemoteClient.hpp"
/** \file
* Libunwind namespace implementation using process_vm_readv.
*/
struct _UPT_info {
pid_t pid;
- // Other things;
+ // Other things...
};
/** Get the PID of a `libunwind-ptrace` context
static inline
pid_t _UPT_getpid(void* arg)
{
- struct _UPT_info* info = (_UPT_info*) arg;
+ _UPT_info* info = static_cast<_UPT_info*>(arg);
return info->pid;
}
if (fd < 0)
return - UNW_EINVAL;
while (1) {
- ssize_t s = pread(fd, buf, count, off);
- if (s == 0) {
+ ssize_t nread = pread(fd, buf, count, off);
+ if (nread == 0) {
close(fd);
return - UNW_EINVAL;
}
- if (s == -1)
+ if (nread == -1)
break;
- count -= s;
- buf += s;
- off += s;
+ count -= nread;
+ buf += nread;
+ off += nread;
if (count == 0) {
close(fd);
return 0;
* does not use ptrace() to read the target process memory by
* `process_vm_readv()` or `/dev/${pid}/mem` if possible.
*
- * Does not support any MC-specific behaviour (privatisation, snapshots)
+ * Does not support any MC-specific behaviour (privatization, snapshots)
* and `ucontext_t`.
*
* It works with `void*` contexts allocated with `_UPT_create(pid)`.
return unw_create_addr_space(&accessors, BYTE_ORDER);
}
-void* create_context(unw_addr_space_t as, pid_t pid)
+void* create_context(unw_addr_space_t /*as*/, pid_t pid)
{
return _UPT_create(pid);
}