My application executes a long running task in a separate thread. The result of this task is a fairly large amount of data, a couple of kB:s, that should be sent to the main thread of my app.

My plan is to create a local RChunk (RChunk::CreateLocal()) in my operation thread and then use a P&S proprty to send the chunk handle to my main application thread.

Which is the proper way to access the RChunk in my main application thread?
Is it OK to just create an RChunk instance and call it's SetHandle()?
Code:
    TInt chunkHandle = 0;
    TInt res = iOcrCompletedProperty.Get(chunkHandle);

    RChunk chunk;
    chunk.SetHandle(chunkHandle);
Or do I need do call some method to verify that the handle is valid?

Is it OK to create the RChunk in the operation thread, and then close it in the main application thread?