pcp
[Top] [All Lists]

[pcp] Fixes SIGSEGV, 64-bit format specifiers, dlsym bug and IPC on Wind

To: performancecopilot/pcp <pcp@xxxxxxxxxxxxxxxxxx>
Subject: [pcp] Fixes SIGSEGV, 64-bit format specifiers, dlsym bug and IPC on Windows (#34)
From: Diego Giagio <notifications@xxxxxxxxxx>
Date: Fri, 07 Aug 2015 14:10:50 -0700
Delivered-to: pcp@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1438981850; bh=6ekaSCiHOP74xQtG42PVo2xL6PovTrkJPUgwa+brucE=; h=From:Reply-To:To:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=EaJA6NaybWKr+v2c3abE4aqN4MNj6rRk/Qd09WuBP4vF4A9jKK4VEdrrZgjwJQasr foq65gJIP2Q/VGE5U8SwdkYNucgvC86+2HITNOnV6I/j4IG0V1MwoPUz1ihOlveqD4 0xvgIB81OM1i0EOenFCSc8gQVIIxTXb9dKsfWmo8=
List-archive: https://github.com/performancecopilot/pcp
List-id: performancecopilot/pcp <pcp.performancecopilot.github.com>
List-post: <mailto:reply+00bd08b61feb0789eef8334a4a2a0121d9aa91d5e3e056b592cf0000000111dce0da92a169ce05f1c65b@reply.github.com>
List-unsubscribe: <mailto:unsub+00bd08b61feb0789eef8334a4a2a0121d9aa91d5e3e056b592cf0000000111dce0da92a169ce05f1c65b@reply.github.com>, <https://github.com/notifications/unsubscribe/AL0ItsG4MwjEh9EdD74bybmJ-xQTpYKAks5olRZagaJpZM4Fn02R>
Reply-to: performancecopilot/pcp <reply+00bd08b61feb0789eef8334a4a2a0121d9aa91d5e3e056b592cf0000000111dce0da92a169ce05f1c65b@xxxxxxxxxxxxxxxx>

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).


You can view, comment on, or merge this pull request online at:

  https://github.com/performancecopilot/pcp/pull/34

Commit Summary

  • Fixes SIGSEGV, 64-bit format specifiers, dlsym bug and IPC on Windows

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

<Prev in Thread] Current Thread [Next in Thread>