PSOLA how to calculate synthesized Marks
Let $t_a(n)$ be the time of the n-th analysis mark ("Pitch marker"), $P_a(n)$ the period at the n-th analysis mark (it can be defined as $t_a(n+1) - t_a(n)$, $t_s(n)$ be the time of the n-th synthesis mark, $n_s(k)$ is a number whose integer part is the index of analysis segment to be overlapped-added when processing the n-th synthesis mark (it can also represent a weighted interpolation between two consecutive analysis marks).

The synthesis marks will be defined by the recurrence:
$$n_s(0) = 0$$
$$t_s(0) = t_a(0)$$
$$t_s(k) = t_s(k-1) + \alpha(n) P_a([n_s(k)])$$
$$n_s(k) = n_s(k-1) + \alpha(n)$$

$\alpha(n)$ is a stretch factor. It is 0.5 if you want to double the frequency. If you want unvoiced frames to be processed naturally (no stretching for them), you can actually make it dependent on the voiced/unvoiced analysis. In this case: it is 1 if the analysis mark $[n_s(k)]$ is unvoiced, and 0.5 or whatever is your pitch-shift factor when it is voiced.