On 10 Nov 2007, at 02:03, Josh Mellicker wrote:
Are you monitoring the error status with libURLSetStatusCallback. This won't properly indicate a timeout.
(This came up on the list recently.)

Ah, I do remember that! But does this mean you can't drive a progress bar? libURLSetStatusCallback sends a "bytes uploaded" number...

You can still use libURLSetStatusCallback to set a progress bar. But to fully monitor errors, it's best to use "the result" for blocking calls and the callback message for non-blocking calls. If you discover a timeout there, you can dismiss or reset the progress bar.




Depending on how you do this, there may be a problem. You should avoid using "wait" while any libUrl stuff is going on.


Even wait with messages?

Yes, unfortunately. The problem is that these waits have to be "released" in the reverse order in which they were started. So if you add a "wait ... with messages" after libUrl has injected its own, yours has to be released first. But if the condition for ending your wait is dependent of libUrl returning, you could be in trouble.

For example, the following mouseUp will complete in 5 seconds, not 50 milliseconds.


global flag1, flag2

on mouseUp
  put 0 into flag1
  send handler1 to me in 50 milliseconds
  send handler2 to me in  5000 milliseconds
  wait until flag1 = 1 with messages
  answer "completed"
end mouseUp

on handler1
  put 1 into flag1
  put 0 into flag2
  wait until flag2 = 1 with messages
end handler1

on handler2
  put 1 into flag2
end handler2

Dave
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to