Open Source Routing Machine - C++ backend
Go to file
Daniel J. Hofmann e75be68466 Only lock the virtual address space when shared memory was requested
In addition, some improvements:

- unlock only when locking succeeded
- scoped exception safe RAII locker

Reference:

- https://github.com/Project-OSRM/osrm-backend/issues/1698#issuecomment-144003177
2015-10-19 16:23:18 +02:00
algorithms Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
benchmarks Remove Boost.Filesystem v3 fix for Boost < 1.48, refactor call sites. 2015-09-29 16:15:54 +02:00
cmake Immensly increase lua/luabind detection and check in buildsystem. 2015-09-30 18:22:26 +02:00
config new cucumber profile for Jenkins that doesn't fail because of an old Gherkin bug 2014-03-24 14:29:19 +01:00
contractor Fix fore core factors < 0.3 2015-10-08 20:58:21 +02:00
data_structures Adds support for a new b= parameter on the viaroute and match 2015-10-06 11:15:10 +02:00
descriptors Silence unused variable warnings 2015-09-30 18:20:00 +02:00
docker Remove protobuf dependencies from docker setup 2015-08-31 16:48:27 +02:00
extractor Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
features Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
include/osrm Adds support for a new b= parameter on the viaroute and match 2015-10-06 11:15:10 +02:00
library fix some small issues: 2015-09-01 15:20:35 +02:00
plugins Adds support for a new b= parameter on the viaroute and match 2015-10-06 11:15:10 +02:00
profiles Don't count ferries as public transportation 2015-10-06 11:13:39 +02:00
routing_algorithms Silence unused variable warnings 2015-09-30 18:20:00 +02:00
scripts Static analysis: integration with the Static Analyzer. 2015-09-22 17:32:32 +02:00
server Adds support for a new b= parameter on the viaroute and match 2015-10-06 11:15:10 +02:00
test Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
third_party Merge commit '788bc67faa7738cf7c6b2a192ecf3e3567d1c20e' into develop 2015-08-28 12:42:03 +02:00
tools osrm-components: remove unused param 2015-10-06 11:12:56 +02:00
unit_tests Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
util Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
.clang-format don't binpack parameters on 100 column width 2014-04-21 17:40:05 +02:00
.clang-tidy Integration scripts for Clang's Modernize and Tidy tool. 2015-09-22 17:32:32 +02:00
.gitignore make AppVeyor green again 2015-06-18 18:16:51 +02:00
.gitmodules Removing Docs submodule 2012-12-26 18:29:16 +01:00
.travis.yml Remove protobuf dependencies from travis config 2015-08-31 16:57:42 +02:00
appveyor-build.bat AppVeyor: make tests pass again 2015-09-07 19:45:54 +02:00
appveyor.yml AppVeyor: include osrm.lib in artifact. don't stick to AppVeyor directory structure in build scripts. 2015-09-07 14:26:47 +00:00
build-local.bat AppVeyor: make tests pass again 2015-09-07 19:45:54 +02:00
CMakeLists.txt We are on v4.8.1. 2015-10-09 16:53:17 +02:00
datastore.cpp Remove Boost.Filesystem v3 fix for Boost < 1.48, refactor call sites. 2015-09-29 16:15:54 +02:00
Doxyfile.in Use Readme.md as mainpage untill we have something better. 2015-09-22 16:26:21 +02:00
extract.cpp Move option parsing to own class 2015-05-28 15:18:48 +02:00
Gemfile change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
Gemfile.lock upgrade to cucumber 2.0 2015-04-30 18:15:46 +02:00
LICENCE.TXT change copyright line from personal names to project 2015-02-19 09:19:51 +01:00
prepare.cpp Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by 2015-10-06 09:23:17 -07:00
profile.lua readding profile.lua 2013-07-02 22:51:21 +02:00
Rakefile add raketask for clearing test cache files 2014-10-17 15:13:06 +02:00
README.md Squashed 'third_party/libosmium/' changes from 8bcd4ea..c43f8db 2015-08-28 12:42:03 +02:00
routed.cpp Only lock the virtual address space when shared memory was requested 2015-10-19 16:23:18 +02:00
taginfo.json Add object_types to some tags. 2014-09-07 20:39:56 +02:00
typedefs.h Find components on edge-expanded graph 2015-08-06 11:13:25 +02:00

About

The Open Source Routing Machine is a high performance routing engine written in C++11 designed to run on OpenStreetMap data.

Current build status

build config branch status
Linux  master Build Status
Linux  develop Build Status
Windows master/develop Build status
LUAbind fork  master Build Status

Building

For instructions on how to build and run OSRM, please consult the Wiki.

To quickly try OSRM use our free and daily updated online service

Documentation

See the Wiki's server API documentation as well as the library API documentation

References in publications

When using the code in a (scientific) publication, please cite

@inproceedings{luxen-vetter-2011,
 author = {Luxen, Dennis and Vetter, Christian},
 title = {Real-time routing with OpenStreetMap data},
 booktitle = {Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems},
 series = {GIS '11},
 year = {2011},
 isbn = {978-1-4503-1031-4},
 location = {Chicago, Illinois},
 pages = {513--516},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2093973.2094062},
 doi = {10.1145/2093973.2094062},
 acmid = {2094062},
 publisher = {ACM},
 address = {New York, NY, USA},
}