How to pass nStartingNumber to nppiCompressMarkerLabels when using a non-blocking NppStreamContext?

How am I expected to pass the int between two asynchronous function invocations when CompressMarkerLabels takes the int by-value, synchronously on the CPU thread?

For example, if I wrote:

void example(Npp16u *pSrcDst, int nSrcDstStep, NppiSize oSizeROI, Npp16u nMinVal, int *pNewNumber, NppiNorm eNorm, Npp8u *pBuffer0, Npp8u *pBuffer1, NppStreamContext nppStreamCtx)) {
    int nStartingNumber;
    nppiLabelMarkers_16u_C1IR_Ctx(pSrcDst, nSrcDstStep, oSizeROI, nMinVal, eNorm, &nStartingNumber, pBuffer0, nppStreamCtx);
    nppiCompressMarkerLabels_16u_C1IR_Ctx(pSrcDst, nSrcDstStep, oSizeROI, nStartingNumber, pNewNumber, pBuffer1, nppStreamCtx);
}

I would expect a failure because nppiLabelMarkers_16u_C1IR_Ctx, being asynchronous to the CPU thread, might not write to nStartingNumber before nppiCompressMarkerLabels_16u_C1IR_Ctx is queued on the non-blocking nppStreamCtx.

What is the expected way to use these functions?