World: r3wp
[SDK]
older newer | first last |
Maxim 21-Sep-2006 [694] | thanks guys :-) |
Gabriele 21-Sep-2006 [695x4] | yep... my file is gpl. it's ok for me to change to bsd too. so you're fine maxim. :) |
timers.r is on http://www.colellachiara.com/soft/libs/ | |
together with other stuff you may need | |
you have some work to do... but it should be a good start. | |
Maxim 21-Sep-2006 [699x2] | Nenad is right, I looked in the release I got (v1.1) and its not gpl. its basicelly BSD. |
wrt stability have you guys encountered any limits or performance instability in some situations so far? | |
Gabriele 21-Sep-2006 [701] | mmm, so probably the version i had - which was much before public release - had no license info, and i assumed gpl since the rest of the detective is gpl. |
Maxim 21-Sep-2006 [702] | Nenad, would you like me to supply the improved ping-demo.r to you? cpu useage is much more reasonable... |
Dockimbel 21-Sep-2006 [703] | I heard once or twice that some exe won't run correctly under asyn-call (freezing or no output). |
Gabriele 21-Sep-2006 [704] | the detective does a lot of calls, and is fine. there are gc bugs in older rebols though. the latest sdk should be fine but i haven't tested it a lot yet. |
Dockimbel 21-Sep-2006 [705] | If the solution is generic, you can send it here: [dockimbel-:-free-:-fr] |
Gabriele 21-Sep-2006 [706] | doc, iirc the cpu problem you had was with using async-modes: 'write, which is a busy loop. am i right? |
Maxim 21-Sep-2006 [707] | yep :-) just a plain drop in replacement to your app. and can be applied to any other app. |
Gabriele 21-Sep-2006 [708] | i'm just doing a poll every 0.5 secs or so. |
Maxim 21-Sep-2006 [709] | but Gabriele might have a better (real) solution |
Gabriele 21-Sep-2006 [710x2] | correction, 0.25 |
using my timers.r, real timers would be much better of course... | |
Pekr 21-Sep-2006 [712] | real timers - part of R3 Core? :-) |
Gabriele 21-Sep-2006 [713x2] | i really hope so :) |
although with tasks they're much less needed, ie you can just use multiple tasks and wait. | |
Dockimbel 21-Sep-2006 [715] | Gab: it's not using 'async-modes at all, it's related to REBOL calling automatically 'get-sub-port when port/in/state/inbuffer points to a string! value. |
Maxim 21-Sep-2006 [716] | will tasks be threads or processes? |
Gabriele 21-Sep-2006 [717] | threads |
Maxim 21-Sep-2006 [718] | sorry (should be in R3 group) |
Gabriele 21-Sep-2006 [719x2] | doc, i see. |
handlers really need a network subport, although you can do a lot of things without. | |
Dockimbel 21-Sep-2006 [721] | The busy loop is generated by REBOL itself, it's a side effect i was using in async-call to do busy looping on the pipe while allowing other port events to be processed. |
Gabriele 21-Sep-2006 [722x4] | yep... that's why i made it a function instead of a port. |
i'm using a different trick to implement timers :) | |
then timers to do polling on the pipes. on linux instead, you just get a signal when the command finishes, and read from the pipe - no polling needed. | |
doc, did you have kill too? i think that's only on my code, but the distinction is so blurred :) | |
Dockimbel 21-Sep-2006 [726] | Nope, 'kill support was your code only ; ) |
Maxim 21-Sep-2006 [727x6] | well, here is another strange SDK issue. |
after encapping, an application works well ONLY if I supply the full path to the binary !?!?!? | |
If I setup the path environment and use an encapped application using only the filename, windows resolves the path for me, but I get the following error: | |
PROGRAM ERROR: Invalid encapsulated data | |
doing more testing, I have figured out that it seems like if the app has no "current working dir". This I achieved by launching it through another app in which I have the option of launching with or without an explicitely set current working dir . | |
does this mean I cannot create command-line tools with encap? | |
Gabriele 22-Sep-2006 [733] | encap needs to find itself. if it can not do that, it will not work. |
Maxim 22-Sep-2006 [734x2] | huh? |
can you explain more? cause in the example I am doing... there is no dependency on anything external. | |
Gabriele 22-Sep-2006 [736x4] | say you encap script.r into program.exe |
when you run program.exe, rebol start, and it has to load the code for script.r, which is embedded into program.exe | |
the current implementation needs to actually read the file program.exe to extract script.r from that | |
so if it cannot find the program.exe file (i.e., itself), it cannot extract the rebol code, and won't work. | |
Maxim 22-Sep-2006 [740x2] | but how can it launch itself, and not know where it is... I mean, the application actually loads! can't it just use appdir by default? |
or is this something only the Shell can provide? | |
Gabriele 22-Sep-2006 [742x2] | normally it can find itself because the os passes the file path |
but, if the os doesn't, then it can't. (that's why, as you say, you need to provide a current dir) | |
older newer | first last |