RE: [sv-ec] RE: [sv-bc] Can a function contain a fork/join/any/none?

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Feb 21 2006 - 02:02:37 PST
I see you're correct. I still have a lot to learn about SV.

So let me now ask the following. Suppose I have the following code: 

initial 
begin
  ...
  fork
    ...
    ...
  join_none
end

And there is additional code so that the simulation does not end when
this initial block finishes.

The LRM says about join_none,
"The parent process continues to execute concurrently with all the
processes spawned by the fork. The spawned processes do not start
executing until the parent thread executes a blocking
statement."

The parent thread is this initial block. Where does it execute a
blocking statement? When do the threads in the fork...join_none execute?

Thanks,
Shalom

> -----Original Message-----
> From: Steven Sharp [mailto:sharp@cadence.com]
> Sent: Monday, February 20, 2006 10:19 PM
> To: sharp@cadence.com; sv-ec@eda.org; sv-bc@eda.org;
> Dave_Rich@mentor.com; Bresticker, Shalom
> Subject: RE: [sv-ec] RE: [sv-bc] Can a function contain a
> fork/join/any/none?
> 
> 
> >From: "Bresticker, Shalom" <shalom.bresticker@intel.com>
> 
> >Who is the parent thread in this case? Could I argue that the
> parent
> >disappears and thus never reaches a blocking statement?
> 
> No.  I don't believe that calling a function is considered by
> the 1800
> LRM to create a thread.  The thread executing in the function
> is the
> same thread that called the function and the same thread that
> continues
> after the return.
Received on Tue Feb 21 02:02:49 2006

This archive was generated by hypermail 2.1.8 : Tue Feb 21 2006 - 02:03:17 PST