Mercury Bugs - mercury | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0000223 | mercury | Bug | public | 2011-10-24 08:02 | 2011-11-03 12:08 |
Reporter | colanderman | ||||
---|---|---|---|---|---|
Assigned To | wangp | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | OS | OS Version | |||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0000223: thread.mvar.init/0 and thread.semaphore.init/1 should be marked impure | ||||
Description | thread.mvar.init/0 and thread.semaphore.init/1 are obviously impure but are not marked as such, leading to logical inconsistencies such as this: main(!IO) :- M1 = init, M2 = init, put(M1, 1, !IO), take(M2, _, !IO). not being equivalent to this: main(!IO) :- M1 = init, M2 = M1, put(M1, 1, !IO), take(M2, _, !IO). (The former will block but the latter will not.) They should be marked impure or removed from the library. | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
Issue History | |||||
Date Modified | Username | Field | Change | ||
---|---|---|---|---|---|
2011-10-24 08:02 | colanderman | New Issue | |||
2011-10-24 09:37 | wangp | Note Added: 0000368 | |||
2011-10-24 16:10 | juliensf | Note Added: 0000371 | |||
2011-10-24 16:10 | juliensf | Status | new => acknowledged | ||
2011-11-03 12:08 | wangp | Note Added: 0000380 | |||
2011-11-03 12:08 | wangp | Status | acknowledged => resolved | ||
2011-11-03 12:08 | wangp | Resolution | open => fixed | ||
2011-11-03 12:08 | wangp | Assigned To | => wangp |