diff options
-rw-r--r-- | gpsd.c | 7 | ||||
-rw-r--r-- | shmexport.c | 13 |
2 files changed, 10 insertions, 10 deletions
@@ -1999,12 +1999,7 @@ int main(int argc, char *argv[]) #ifdef SHM_EXPORT_ENABLE /* create the shared segment as root so readers can't mess with it */ - if (!shm_acquire(&context)) { - gpsd_report(&context.errout, LOG_ERROR, - "shared-segment creation failed,\n"); - } else - gpsd_report(&context.errout, LOG_PROG, - "shared-segment creation succeeded,\n"); + (void)shm_acquire(&context); #endif /* SHM_EXPORT_ENABLE */ /* diff --git a/shmexport.c b/shmexport.c index 625f570a..229ad697 100644 --- a/shmexport.c +++ b/shmexport.c @@ -41,12 +41,17 @@ bool shm_acquire(struct gps_context_t *context) int shmid = shmget((key_t)shmkey, sizeof(struct gps_data_t), (int)(IPC_CREAT|0666)); if (shmid == -1) { gpsd_report(&context->errout, LOG_ERROR, - "shmget(%ld, %zd, 0666) failed: %s\n", - (long int)shmkey, + "shmget(%x, %zd, 0666) for SHM export failed: %s\n", + shmkey, sizeof(struct gps_data_t), strerror(errno)); return false; - } + } else + gpsd_report(&context->errout, LOG_PROG, + "shmget(%x, %zd, 0666) for SHM export succeeded\n", + shmkey, + sizeof(struct gps_data_t)); + context->shmexport = (void *)shmat(shmid, 0, 0); if ((int)(long)context->shmexport == -1) { gpsd_report(&context->errout, LOG_ERROR, "shmat failed: %s\n", strerror(errno)); @@ -54,7 +59,7 @@ bool shm_acquire(struct gps_context_t *context) return false; } gpsd_report(&context->errout, LOG_PROG, - "shmat() succeeded, segment %d\n", shmid); + "shmat() for SHM export succeeded, segment %d\n", shmid); return true; } |