Jafar's comments are correct. I will add that the rationale for dereferencing 
is: you have to dereference things that might not be there later on when you 
come back to use it. When you say "return x" in regular Icon, if x is a local 
it must be dereferenced. Variable() must follow similar rules. But we might 
figure out a workaround.

Sent from my iPhone

On Jun 29, 2011, at 2:20 PM, Jafar Al-Gharaibeh <to.ja...@gmail.com> wrote:

> On Wed, Jun 29, 2011 at 10:50 AM, Steve Wampler <swamp...@noao.edu> wrote:
> On 06/29/2011 10:43 AM, Steve Wampler wrote:
> > On 06/29/2011 10:03 AM, David Gamey wrote:
> >> Folks,
> >>
> >> I recall this may have been reported a while back.
> >
> > I just took a quick look at the source for variable()
> > (runtime/fmisc.r) and it looks as though a dereference
> > of the variable is forced for local and static variables
> > (possibly except when using multithreaded Unicon and
> > the correct value of the 4th argument is passed in).
> 
> A closer reading of the code makes me think that the
> deference is forced on locals and statics only when
> using multithreaded Unicon - variable() probably works fine
> without multithreading.
> 
> Is the dereference somehow required for thread-safety?
> 
>   A quick look at the code was not enough for me to identify the problem. 
> However, I would like to point out that the term "MultiThread" in Unicon's 
> source code predate Concurrent Unicon and it actually refers to multi-loaded 
> non-concurrent programs which was introduced at first for program monitoring 
> and visualization. A thread in that sense is another loaded program. After 
> introducing "real" concurrent threads the term Concurrent was used in the 
> source code to refer to them largely because MultiThread was already reserved 
> to denote a different thing.
> 
> This will continue to be confusing a little bit for anyone who takes a quick 
> look at the code. I mentioned all of this just to say that the problem should 
> have nothing to do with a thread-safety issue, but for sure it has do to do 
> with code-memory reorganization after the introduction of concurrent threads. 
> Variable() probably is not "looking" in the right place.
> 
> Well, just another thing that we have to fix. :)
> 
> Cheers,
> Jafar
> 
> 
> 
>  
> --
> Steve Wampler -- swamp...@noao.edu
> The gods that smiled on your birth are now laughing out loud.
> 
> ------------------------------------------------------------------------------
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2
> _______________________________________________
> Unicon-group mailing list
> Unicon-group@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/unicon-group
> 
> 
> 
> -- 
> "Let there be no compulsion in religion: Truth stands out clear from error" 
> [The Holy Qur'an 2:256]
> 
> "Injustice anywhere is a threat to justice everywhere"    Dr. King
> ------------------------------------------------------------------------------
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security 
> threats, fraudulent activity, and more. Splunk takes this data and makes 
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2
> _______________________________________________
> Unicon-group mailing list
> Unicon-group@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/unicon-group
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Unicon-group mailing list
Unicon-group@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to