On 2021-11-19 17:20, Ralph DiMola via use-livecode wrote:
I just wanted to thank Jacqueline Landman Gay and Charles Warwick for this
thread
https://www.mail-archive.com/use-livecode@lists.runrev.com/msg113554.html

I still wonder how more than one synchronous operation can be in play at the
same as synchronous operations are blocking. Oh well I works now with
tsNet-Pro. Well worth the price...

So technically 'synchronous' libURL operations are not blocking - they use a nested wait. As libURL is a script library, and uses engine sockets (and thus messages), they need to get messages and so all messages also occur. Indeed, this also means you can handle progress notifications, and whatever means you choose to show the UI is currently 'blocked' because your script is busy.

It does mean you do have to be somewhat careful with `get url` and friends - since you can end up in a bit of a recursive mess (i.e. if a message fires while a get url is going on, and you do another get url etc. etc.).

There is a request in BZ to make tsNet's synchronous calls truly blocking - however that would probably need to come with some sort of automatic 'busy' indicator over all currently open windows to prevent UI events getting queued / lost (and users being confused why things don't work at certain points!). The upside of that is that it might prevent 'mysterious' problems with accidental recursive waits which can happen at the moment.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to