Changes committed to git://git.pcp.io/kenj/pcp master
Ken McDonell (3):
src/libpcp/pdu.c: allow -EINTR to be returned from pduread()
src/pmlogger: fix SIGINT issue
qa/895 (new): exercise pmlogger SIGINT problem
qa/895 | 99 ++++++++++++++++++++++++++++++++++++++++++++
qa/895.out | 13 +++++
qa/group | 1
src/libpcp/src/pdu.c | 9 ++--
src/pmlogger/src/callback.c | 8 ++-
src/pmlogger/src/fetch.c | 6 ++
src/pmlogger/src/pmlogger.c | 15 ++++--
7 files changed, 141 insertions(+), 10 deletions(-)
Details ...
commit 5068924eae6c9f1476806ed9d877f223ae47c432
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Oct 1 06:47:49 2016 +1000
qa/895 (new): exercise pmlogger SIGINT problem
commit f16dcc88bbe6005a95033ba5b1d3a70d5a389796
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Oct 1 06:44:12 2016 +1000
src/pmlogger: fix SIGINT issue
Issue raised as https://github.com/performancecopilot/pcp/issues/116.
This commit (and the earlier pduread() change in libpcp) fixes the
SIGINT part of the issue ... the root trigger is fetching lots of
metrics with a very short (10msec) update interval, which means
there is close to a 100% guarantee that the SIGINT will interrupt
a socket read() and the resulting error was not being propaged back
up the call stack correctly.
The mem leak part of the issue will be addressed separately.
commit bd32862bf6630c604548a0859e641ea97a75fcd2
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Oct 1 06:30:12 2016 +1000
src/libpcp/pdu.c: allow -EINTR to be returned from pduread()
If a SIGINT is received during a socket read of a PDU, we want to
propagate -EINTR back to the caller, not PM_ERR_IPC or -1, so that
the caller can decide what to do.
|