#include "common/Thread.h"
#include <errno.h>
+#ifdef __APPLE__
+#include <libproc.h>
+
+string get_name_by_pid(pid_t pid)
+{
+ char buf[PROC_PIDPATHINFO_MAXSIZE];
+ int ret = proc_pidpath(pid, buf, sizeof(buf));
+ if (ret == 0) {
+ derr << "Fail to proc_pidpath(" << pid << ")"
+ << " error = " << cpp_strerror(ret)
+ << dendl;
+ return "<unknown>";
+ }
+ return string(buf, ret);
+}
+#else
string get_name_by_pid(pid_t pid)
{
char proc_pid_path[PATH_MAX] = {0};
std::replace(buf, buf + ret, '\0', ' ');
return string(buf, ret);
}
-
+#endif
/**
* safe async signal handler / dispatcher