Hi, I'm wondering what the best approach would be for calculating shortest distances from a point on an edge in between that edge's start and end vertex.

The way I see it, there's two options:
a) "split" the edge at the wanted location: so basically adding two new (shorter) edges; the original edge can be removed, but I guess leaving it in wouldn't change results
b) 
- calculate Dijkstra from the start vertex and for each reachable node add the fixed cost for reaching the start vertex
- same for end vertex
- combine these two distance maps to get the minimum distance for each reachable node

Apart from the feasibility, I can foresee problems along the road (no pun intended):
a) I have a multi-threaded setup, and modifying the network from a single thread could cause all kinds of weird concurrency issues ?
b) extra calculation costs: extra Dijkstra + combining the two distance maps (is there a fast approach for this ?)

Any tips here, anyone who was faced with the same issue ? Thx !