• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wesm / parquet-cpp / 439
88%

Build:
DEFAULT BRANCH: master
Ran 19 Dec 2016 11:38PM UTC
Jobs 2
Files 135
Run time 4min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
439

push

travis-ci

wesm
PARQUET-799: Fix bug in MemoryMapSource::CloseFile

The key change here is to ensure that munmap is called at most once for
a given memory-mapped file.

Previously, MemoryMapSource::CloseFile was calling munmap on every
invocation (provided that a file had ever been successfully mapped into
memory for that instance). This is problematic in a multi-threaded
environment, even if each MemoryMapSource instance is being used in only
one thread, as illustrated by the following hypothetical sequence of
operations:

thread 1 @ time 1: munmap(0xf000, 4096)
thread 2 @ time 2: void *addr = mmap(NULL, 4096, ...) // addr <- 0xf000
thread 1 @ time 3: munmap(0xf000, 4096)

After time 3, the mapping for the memory segment beginning at 0xf000 has
been invalidated, so the next attempt by thread 2 to access memory
within that segment will likely cause a segfault (unless yet another
thread has mmap'd that segment in the meantime, in which case the
results could be even more interesting, but certainly no better).

Also, I'm adding/modifying a couple comments in header files to mark
"sample" implementations accordingly. This is intended to give API
consumers a heads up as to the intent and level of maturity of those
sections of the codebase.

Author: William Forson <william@gluent.com>

Closes #203 from wdforson/master and squashes the following commits:

782713a [William Forson] Adjust 'sample' code comments
7337551 [William Forson] PARQUET-799: Fix bug in MemoryMapSource::CloseFile

10249 of 10620 relevant lines covered (96.51%)

65098.52 hits per line

Jobs
ID Job ID Ran Files Coverage
1 439.1 19 Dec 2016 11:42PM UTC 0
96.51
Travis Job 439.1
2 439.2 19 Dec 2016 11:38PM UTC 0
0.0
Travis Job 439.2
Source Files on build 439
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #439
  • 0e195730 on github
  • Prev Build on master (#438)
  • Next Build on master (#441)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc