Why is the put() for a semaphore defined as a task? How would it be possible for put() to block; no matter how many keys are configured for the semaphore one can always add more (which BTW is a bit odd). See section 14.2.2 of SV LRM.
Hans
Hans,
This is an error and will be fixed in the 2008 LRM.
See http://www.eda-stds.org/svdb/bug_view_page.php?bug_id=0001244
There are a number of methods in SV that were incorrectly defined as a task. This is because they came straight out of the Vera LRM, which was not consistent about task versus function usage.
Dave