Mercurial > hg > orthanc
comparison Core/Toolbox.cpp @ 1337:afaa55d42ddd
FreeBSD support
author | jodogne |
---|---|
date | Tue, 31 Mar 2015 11:40:29 +0200 |
parents | 7f0aa3c0f659 |
children | 60cc0ee61edb |
comparison
equal
deleted
inserted
replaced
1336:a80e811ec619 | 1337:afaa55d42ddd |
---|---|
57 #if defined(__APPLE__) && defined(__MACH__) | 57 #if defined(__APPLE__) && defined(__MACH__) |
58 #include <mach-o/dyld.h> /* _NSGetExecutablePath */ | 58 #include <mach-o/dyld.h> /* _NSGetExecutablePath */ |
59 #include <limits.h> /* PATH_MAX */ | 59 #include <limits.h> /* PATH_MAX */ |
60 #endif | 60 #endif |
61 | 61 |
62 #if defined(__linux) || defined(__FreeBSD_kernel__) | 62 #if defined(__linux) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__) |
63 #include <limits.h> /* PATH_MAX */ | 63 #include <limits.h> /* PATH_MAX */ |
64 #include <signal.h> | 64 #include <signal.h> |
65 #include <unistd.h> | 65 #include <unistd.h> |
66 #endif | 66 #endif |
67 | 67 |
114 | 114 |
115 void Toolbox::USleep(uint64_t microSeconds) | 115 void Toolbox::USleep(uint64_t microSeconds) |
116 { | 116 { |
117 #if defined(_WIN32) | 117 #if defined(_WIN32) |
118 ::Sleep(static_cast<DWORD>(microSeconds / static_cast<uint64_t>(1000))); | 118 ::Sleep(static_cast<DWORD>(microSeconds / static_cast<uint64_t>(1000))); |
119 #elif defined(__linux) || defined(__APPLE__) || defined(__FreeBSD_kernel__) | 119 #elif defined(__linux) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__) |
120 usleep(microSeconds); | 120 usleep(microSeconds); |
121 #else | 121 #else |
122 #error Support your platform here | 122 #error Support your platform here |
123 #endif | 123 #endif |
124 } | 124 } |
501 std::vector<char> buffer(32768); | 501 std::vector<char> buffer(32768); |
502 /*int bytes =*/ GetModuleFileNameA(NULL, &buffer[0], static_cast<DWORD>(buffer.size() - 1)); | 502 /*int bytes =*/ GetModuleFileNameA(NULL, &buffer[0], static_cast<DWORD>(buffer.size() - 1)); |
503 return std::string(&buffer[0]); | 503 return std::string(&buffer[0]); |
504 } | 504 } |
505 | 505 |
506 #elif defined(__linux) || defined(__FreeBSD_kernel__) | 506 #elif defined(__linux) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__) |
507 static std::string GetPathToExecutableInternal() | 507 static std::string GetPathToExecutableInternal() |
508 { | 508 { |
509 std::vector<char> buffer(PATH_MAX + 1); | 509 std::vector<char> buffer(PATH_MAX + 1); |
510 ssize_t bytes = readlink("/proc/self/exe", &buffer[0], buffer.size() - 1); | 510 ssize_t bytes = readlink("/proc/self/exe", &buffer[0], buffer.size() - 1); |
511 if (bytes == 0) | 511 if (bytes == 0) |