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

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
2 participants
Contributor

dgiagio commented Aug 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).

Contributor

lberk commented Aug 10, 2015

Seems to fix the build warnings mentioned on my fedora-mingw64 buildbot, as well as passes a quick sanity testsuite run.

Contributor

lberk commented Aug 11, 2015

Merged upstream

@lberk lberk closed this Aug 11, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment