&*^%^$#%$*& USER!
Brian K. White
brian at aljex.com
Thu Apr 1 18:27:13 PST 2004
Kenneth Brody wrote:
> "Brian K. White" wrote:
> [...]
>> then: user cgc = cgc
>> then: cgc = getenv("COMPANY"){","{scanimg_dtyp{","{scanimg_dnum
>> then: system "winstart
>> http://"{getenv("SRVIP"){"/cgi-bin/showthm?"{cgc then: close
>> cgc ; return
> [...]
>> two possible work-arounds that I can see are:
>> 1) track whether user has ever been opened in a global variable and
>> then check the variable at the beginning of the gosub and never
>> close the user command.
>
> Why are you closing it in the first place? There is no need, since
> you have properly written the script to loop.
>
>> 2) don't track whether user has already been opened, just always
>> open it once in @once and never close it.
>
> What do you mean "open it once in @once"?
What I ended up doing, which seems to be working OK.
Don't know until tomorrow how reliable it'll be.
I changed this:
label: if:
then: usr cgc = cgc
then: cgc = something
then: something = cgc
then: close cgc
then: return
to this:
label: if:
then: cgc = something
then: something = cgc
then: return
@once: if:
then: user cgc = cgc
then: return
I don't see any more defunct processes, and repeated calls to the gosub from
an @key
have all worked as far as I've tried.
But it results in every session in this file spawning two constant processes
(clerk + cgc) the whole time they are in clerk where they used to only spawn
one (clerk itself). On a small system it's no biggie. On a big system a 100%
increase in active processes could be a problem.
Considering how this is used, maybe it's not so bad having it "always on"
like this _in this case_.But I really want the user process to be transient
and fleeting. not a parmanent companion to every active input process in all
the most-used files.
But then there is another similar issue that I don't think I can solve this
easily.
Jerry Rains' user command that uses netcat is not only called many times in
one clerk session, but it is in a call table not in the input process
itself. I don't know how I could avoid running the user command at least
once for each invocation of the call table.
Brian K. White -- brian at aljex.com -- http://www.aljex.com/bkw/
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro BBx Linux SCO Prosper/FACTS AutoCAD #callahans Satriani
More information about the Filepro-list
mailing list