1. Euphoria 2.6 Attn: Robert
- Posted by C Bouzy <eucoder at hotmail.com> Dec 24, 2005
- 747 views
- Last edited Dec 25, 2005
Robert, I have been playing around with the multitasking version of EU, and I have also been experimenting with Al’s virtual thread manager, and neither seems to remedy the freezing of Win32 applications when calling certain kinds of functions. For example when I call BASS_StreamCreateURL (Bass.dll Library), my app will freeze until a value is returned. This happens with most functions that deal with connecting to the internet. I have always found workarounds with EU limitations, but I have never been able to find a solution to this problem. Is there a way to correct this with the current version of EU, if not, will the new version of EU fix this problem? ----If you continue to do what you have always done, you will get what you have always gotten.----
2. Re: Euphoria 2.6 Attn: Robert
- Posted by Robert Craig <rds at RapidEuphoria.com> Dec 25, 2005
- 721 views
C Bouzy wrote: > I have been playing around with the multitasking version of EU, and I have > also been experimenting with Al’s virtual thread manager, and neither seems > to remedy the freezing of Win32 applications when calling certain kinds of > functions. For example when I call BASS_StreamCreateURL (Bass.dll Library), > my app will freeze until a value is returned. This happens with most > functions that deal with connecting to the internet. I have always found > workarounds with EU limitations, but I have never been able to find a > solution to this problem. Is there a way to correct this with the current > version of EU, if not, will the new version of EU fix this problem? Euphoria's multitasking will not by itself solve the problem of I/O calls that block, i.e. make you wait a long time before they return. However you might look into the User Contribution by Daniel Kluss, where, while using Euphoria multitasking, he creates a second independent O/S thread to handle a slow API call. I'm not sure how many different API calls that works for, but I think it's a lot. Also, in general, you can sometimes substitute a non-blocking I/O call for a blocking one, e.g. for reading a big chunk of data. In that case you could have a separate Euphoria task that polls a variable or memory location, waiting for the I/O operation to complete. While it's doing that, other Euphoria tasks could be free to do other useful things. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
3. Re: Euphoria 2.6 Attn: Robert
- Posted by Greg Haberek <ghaberek at gmail.com> Dec 25, 2005
- 722 views
> I have been playing around with the multitasking version of EU, and I hav= e > also been experimenting with Al's virtual thread manager, and neither see= ms > to remedy the freezing of Win32 applications when calling certain kinds o= f > functions. For example when I call BASS_StreamCreateURL (Bass.dll Library= ), > my app will freeze until a value is returned. This happens with most > functions that deal with connecting to the internet. I have always found > workarounds with EU limitations, but I have never been able to find a > solution to this problem. Is there a way to correct this with the current > version of EU, if not, will the new version of EU fix this problem? There is a library in the Archive for making dll calls "non blocking" - I believe this is what you need. ~Greg
4. Re: Euphoria 2.6 Attn: Robert
- Posted by C Bouzy <eucoder at hotmail.com> Dec 26, 2005
- 792 views
Robert Craig wrote: However you might look into the User Contribution > by Daniel Kluss, where, while using Euphoria multitasking, > he creates a second independent O/S thread to handle > a slow API call. > Robert, Thank you for the response, and I tried Daniel’s library. Currently the lib only works with the PD multitasking version of EU, and unfortunately the PD version is too slow for my needs, even when compiled to C. What I am curious about is why can’t a similar system be added to the official version of EU? It is hard to develop commercial apps in EU when they freeze from time to time when calling certain functions in DLLs. In my opinion “non-blocking” support should be officially added and supported. Any possibility we can see this happening in the near future? ----If you continue to do what you have always done, you will get what you have always gotten.----
5. Re: Euphoria 2.6 Attn: Robert
- Posted by Robert Craig <rds at RapidEuphoria.com> Dec 26, 2005
- 775 views
- Last edited Dec 27, 2005
C Bouzy wrote: > > Robert Craig wrote: > However you might look into the User Contribution > > by Daniel Kluss, where, while using Euphoria multitasking, > > he creates a second independent O/S thread to handle > > a slow API call. > > Thank you for the response, and I tried Daniel’s library. Currently the lib > only works with the PD multitasking version of EU, and unfortunately the PD > version is too slow for my needs, even when compiled to C. It won't be too long before the official, fast interpreter is released, complete with multitasking. It should work just as well as the PD source interpreter with Daniel's code. > What I am curious > about is why can’t a similar system be added to the official version of EU? > It is hard to develop commercial apps in EU when they freeze from time to > time when calling certain functions in DLLs. In my opinion “non-blocking” > support should be officially added and supported. Any possibility we can see > this happening in the near future? Yes, I might add it officially. I need some time to study it carefully. For instance, does it create any race conditions or other glitches that I would need to guard against or document. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
6. Re: Euphoria 2.6 Attn: Robert
- Posted by C Bouzy <eucoder at hotmail.com> Dec 26, 2005
- 832 views
- Last edited Dec 27, 2005
Robert Craig wrote: > > Yes, I might add it officially. > I need some time to study it carefully. > For instance, does it create any race conditions or other > glitches that I would need to guard against or document. > Hi Robert, I was able to get Daniel's lib to work with the Official RDS version of EU, and for some odd reason it is VERY slow. I used the Bass demos for testing and I got extreme slow downs. I hope you do officially implement a similar system soon. ----If you continue to do what you have always done, you will get what you have always gotten.----