Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
Fixes SIGSEGV, 64-bit format specifiers, dlsym bug and IPC on Windows #34
+25
−13
Conversation
|
Seems to fix the build warnings mentioned on my fedora-mingw64 buildbot, as well as passes a quick sanity testsuite run. |
|
Merged upstream |
lberk
closed this
Aug 11, 2015
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
dgiagio commentedAug 7, 2015
This patch makes it actually possible to run PCP on Windows platform by cross-compiling from Fedora with mingw64.
1 - The format specifier for printing 64-bit signed and unsigned numbers is incorrect for Windows platform. It should be %I64d and %I64u as opposed to %lld and %llu.
2 - The MinGW on Windows already correctly defines the macros S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH, S_IRWXG, and S_IRWXO but the current code incorrectly redefines all of them to 0 (zero).
3 - The current code tries to use Unix Domain Sockets for IPC communication with plugins. This is not supported on Windows platform.
4 - Fixed a SIGSEGV which happened when an error returned from setting up signal handlers. Instead of comparing the return to NULL it compared to < 0, which is a classic arithmetic to pointer comparison error.
5 - Fixed a bug of error handling when dynamic loading a shared library (DLL in case of Windows).