$ emcc -v emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.34.8 clang version 3.7.0 Target: x86_64-apple-darwin15.0.0 Thread model: posix INFO root: (Emscripten: Running sanity checks)
2015-10-20 14:05 GMT-07:00 Alon Zakai <[email protected]>: > One possible issue is that if those values are on the stack, and the scope > exits, then that stack memory might be reused. For example this is unsafe: > > { > char buffer[100]; > // write into buffer > emscripten_async_wget(..., (void*)buffer); > } > > The buffer will be released before the async callback occurs, and other > data might be written into it before the callback reads from it. > > Which version of emscripten are you using, btw? I remember a while back we > had a bug around this. > > On Tue, Oct 20, 2015 at 1:36 PM, Pau Ballart <[email protected]> wrote: > >> Hello, >> >> After some research and some refactor I did the following: >> >> - In my p3stuff function I call emscripten_set_main_loop(wait_wgets, >> 0, 0); so the application is not terminated. >> - In wait_wgets I call the emscripten_async_wget(imageUrl, path, >> onLoaded, onError); only the first time the method is called. >> - In the onLoaded callback I call emscripten_cancel_main_loop(); and >> then I call my c code that perform the jpeg stuff. >> >> Problem is: >> the p3stuff function has 2 arguments: int p3stuff(char *imgUrl, unsigned >> char *wrappedkey) >> When it's called i have two global variables unsigned char *wrappedKey; >> and char *imageUrl; which are assigned with the argument like that: >> >> wrappedKey = wrappedkey; >> imageUrl = imgUrl; >> >> I do that in order to access the image url from the wait_wgets() or the >> wrapped key from the onLoaded callback but I think there is some memory >> management problems cause if I print the url just before calling >> emscripten_async_wget the imageUrl variable content is completely rubbish >> but id I don't print anything it works. >> >> So how can I use the global variables in C in order to not get >> overwritten? Maybe using malloc, or memcopy? >> >> Thanks, >> >> Pau >> >> 2015-10-19 10:53 GMT-07:00 Pau Ballart <[email protected]>: >> >>> Okay I will try the async version and let you know. >>> >>> Thanks >>> >>> 2015-10-17 19:37 GMT-07:00 Alon Zakai <[email protected]>: >>> >>>> The only tricky thing with emscripten_wget is that as mentioned in the >>>> docs, >>>> >>>> >>>> http://kripken.github.io/emscripten-site/docs/api_reference/emscripten.h.html#c.emscripten_wget >>>> >>>> it requires the ASYNCIFY option. It's easier in general to use the >>>> async version, emscripten_async_wget, which does not require ASYNCIFY. >>>> >>>> >>>> On Sat, Oct 17, 2015 at 10:47 AM, Pau Ballart <[email protected]> >>>> wrote: >>>> >>>>> I think the php code is correct so I'm just trying to download an >>>>> image and process it's data but I think I'm missing something about the >>>>> lifecycle or wget function because I get unexpected exit errors. >>>>> >>>>> So I'd like to know if the emscripten_wget(imgUrl, path); is correct >>>>> because I have the weirdest behaviour ever that depending on the p3stuff >>>>> function param "wrappedkey" the download succeeds or not. >>>>> >>>>> 2015-10-15 17:07 GMT-07:00 Alon Zakai <[email protected]>: >>>>> >>>>>> I see you have >>>>>> >>>>>> P3Func = Module.cwrap('p3stuff', 'number', ['string', 'string']); >>>>>> >>>>>> which looks good. You can then call it with something like >>>>>> >>>>>> result = P3Func('first', 'second'); >>>>>> >>>>>> which I see you are doing. What part of that are you trying to >>>>>> improve? >>>>>> >>>>>> >>>>>> On Thu, Oct 15, 2015 at 12:59 PM, Pau Ballart <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Okay so the php is just calling a function I declared. Because I >>>>>>> need to pass the image url as an argument and a key, I don't know how >>>>>>> to do >>>>>>> it using the main function so I changed the main function for this one >>>>>>> with >>>>>>> the two arguments and then called this function from my php code. >>>>>>> Is there a better way to call emscripten passing parameters? >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> 2015-10-15 12:55 GMT-07:00 Alon Zakai <[email protected]>: >>>>>>> >>>>>>>> It would be good to focus the question more, it's hard to tell what >>>>>>>> the core issue is. Try to reduce the problem to just one concrete >>>>>>>> thing, >>>>>>>> like just loading a file, and doing it without that custom PHP script, >>>>>>>> for >>>>>>>> example. >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Oct 15, 2015 at 12:27 PM, Pau Ballart <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hello developers, >>>>>>>>> >>>>>>>>> I'm starting a project and I'm new at Javascript and emscripten. >>>>>>>>> I'm trying to download some image data from a server and then process >>>>>>>>> it >>>>>>>>> using some c functions I already have working. I asked this question >>>>>>>>> in >>>>>>>>> Stackoverflow so I share you the link and maybe one of you can help >>>>>>>>> me. >>>>>>>>> >>>>>>>>> >>>>>>>>> http://stackoverflow.com/questions/33087205/emscripten-code-for-image-data-download-using-emscripten-wget-or-emscripten-asyn >>>>>>>>> >>>>>>>>> Thank you, >>>>>>>>> >>>>>>>>> Pau B >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "emscripten-discuss" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>> the Google Groups "emscripten-discuss" group. >>>>>>>> To unsubscribe from this topic, visit >>>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe >>>>>>>> . >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>> [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Pau Ballart >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "emscripten-discuss" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "emscripten-discuss" group. >>>>>> To unsubscribe from this topic, visit >>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe >>>>>> . >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Pau Ballart >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "emscripten-discuss" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "emscripten-discuss" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe >>>> . >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Pau Ballart >>> >> >> >> >> -- >> Pau Ballart >> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "emscripten-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe > . > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Pau Ballart -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
