r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[SDK]

Dockimbel
21-Sep-2006
[691]
No restriction using my version of async-call, I didn't remember 
it was GPL, it should be BSD. I'll change that .
Gabriele
21-Sep-2006
[692x2]
http://www.colellachiara.com/soft/async-call-definition.r
ah, you're here. the file i had was gpl, let me check...
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
[740]
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?