[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-commit-watch] [SCM] GPSD branch, master, updated. release-3.16-621

From: Fred Wright
Subject: [gpsd-commit-watch] [SCM] GPSD branch, master, updated. release-3.16-621-ga06522f
Date: Fri, 24 Mar 2017 21:52:01 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GPSD".

The branch, master has been updated
       via  a06522f9b67911b0dae606369a76ce5f3cd4c9c4 (commit)
       via  3a8d8e8d8219beb1ec01f923ea5a659054941898 (commit)
       via  1f209455dd2e850b164a3f7985ad845e88efef57 (commit)
       via  4ee196cd9c34f7a268118d4088392e392546fe42 (commit)
      from  2bb3d4973597d3aa0f4376ce7191d09299f40cc0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a06522f9b67911b0dae606369a76ce5f3cd4c9c4
Author: Robert Norris <address@hidden>
Date:   Sun Mar 5 23:16:09 2017 +0000

    Allow test_gpsmm to connect via shared memory
    Simply skip calling gps_stream() which is only for socket connections.
    test_gpsmm can connect to gpsd shared memory on Linux.
    Signed-off-by: Fred Wright <address@hidden>

commit 3a8d8e8d8219beb1ec01f923ea5a659054941898
Author: Fred Wright <address@hidden>
Date:   Fri Mar 24 15:23:04 2017 -0700

    Makes 'GPSD' SHM export exclusive.
    If multiple copies of gpsd share a single SHM export (e.g., during
    regression tests without the previous fix), then the result is just a
    confusing mess.  Adding the "exclusive" option to shmget() fixes this
    by making it fail.  Note that the failure becomes a failure of
    shm_acquire(), which is currently ignored.
    Prior to making the regression test fix for unique SHM IDs, verified
    that parallel regression tests got the expected failures, while
    non-parallel tests passed.

commit 1f209455dd2e850b164a3f7985ad845e88efef57
Author: Fred Wright <address@hidden>
Date:   Fri Mar 24 17:45:18 2017 -0700

    Makes 'GPSD' SHM IDs unique during regression tests.
    Prior to this change, multiple gpsd instances would normally share a
    single SHM segment, confusing anyone using it.  This was a problem
    either when running parallel regression tests, or even when running a
    single test with a system gpsd also running.  Now, each gpsd instance
    launched by gets a SHM ID of the form 0x4770xxxx, where xxxx
    is the TCP or UDP port number.  The high-order part is 0x4770 ('Gp')
    instead of 0x4750 ('GP') to ensure that it doesn't collide with the
    standard 'GPSD'.
    This does not do anything about 'NTPx' SHM segments.
    Ran "scons -j24 check", and observed many 'Gpxx' SHM segments with
    ipcs, all disappearing by the end of testing.

commit 4ee196cd9c34f7a268118d4088392e392546fe42
Author: Fred Wright <address@hidden>
Date:   Thu Mar 23 20:27:33 2017 -0700

    Fixes broken 'GPSD' SHM export.
    Commit 22c3faf added an IPC_RMID operation right after the shmat(), in
    order to keep the segment from lingering after gpsd exits.  But this
    clears the key, making it impossible for a client to attach to the
    This fix moves the IPC_RMID to shm_release(), so that it's not invoked
    until gpsd is done with the segment.  This required saving the shmid
    in the gps_context structure.
    On both OSX and Linux, used ipcs to verify that the segment is present
    with the correct ID while gpsd is running, and disappears after gpsd
    exits.  Also verified that warning message for shmctl() appears when
    two gpsds conflict over the SHM segment.


Summary of changes:
 gps/    | 14 +++++++++++---
 gpsd.h         |  1 +
 shmexport.c    | 29 +++++++++++++++--------------
 test_gpsmm.cpp |  9 ++++++---
 4 files changed, 33 insertions(+), 20 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]