Matthias Kaeppler wrote:
2. Check for a terminate flag once in a while and return from the method once it is set.
But how am I supposed to do the latter? The copy function doesn't return until it's finished right? So I can't check for a condition, because the copy-thread itself is blocked until it's done.
I think 2 is the way to go. However you need to think about your 'copy' operation... why do you have to copy the whole file in one function/system call? simply chop the file up into chunks and then it gives you a point at which to test the status of a condition variable, every 'X' bytes, you could even make 'X' user selectable, trading off throughput vs latency of handling the UI request. For free you then get to update your progress bar every so often too... Kevin -- | Kevin Wheatley, Cinesite (Europe) Ltd | Nobody thinks this | | Senior Technology | My employer for certain | | And Network Systems Architect | Not even myself |