RE: [sv-ec] disabling fork join threads under task

From: Daniel Mlynek <daniel.mlynek_at_.....>
Date: Tue Jul 07 2009 - 23:58:09 PDT
Back to my example I've found a LRM quotation: "Thus, disable shall end all
processes executing a particular block, whether the processes were forked by
the calling thread or not, while disable fork shall end only the processes
that were spawned by the calling thread." 

From above I assume that disable in time foo should also kill dynamic
processess spawned by fork - Am I right?

module top;
 task automatic  foo;
  int a;//a is automatic!!!
  fork
   #20 $display($time, a);
  join_none
 endtask
 
 initial begin
  foo();
 end
        initial #5  disable foo;
Endmodule



DANiel
-----Original Message-----
From: Steven Sharp [mailto:sharp@cadence.com] 
Sent: 7 lipca 2009 19:40
To: sv-ec@eda.org; daniel.mlynek@aldec.com
Subject: Re: [sv-ec] disabling fork join threads under task

I agree that this is unclear.  I filed Mantis 219 on this back in 2004.
It hasn't gotten attention, perhaps because most people think you should be
switching to the newer "disable fork" construct.

Even if someone thinks that the behavior of this simple example is covered
by the LRM text, I can come up with more complex examples that are less
clear, and might cast doubt on their argument for this example.

Steven Sharp
sharp@cadence.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed, 8 Jul 2009 08:58:09 +0200

This archive was generated by hypermail 2.1.8 : Wed Jul 08 2009 - 00:01:44 PDT