digitalmars.D.bugs - [Issue 9005] New: std.concurrency.spawn should allow `void delegate(Args) shared` for new Tid
- d-bugmail puremagic.com (55/55) Nov 12 2012 http://d.puremagic.com/issues/show_bug.cgi?id=9005
- d-bugmail puremagic.com (14/14) Nov 19 2012 http://d.puremagic.com/issues/show_bug.cgi?id=9005
- d-bugmail puremagic.com (10/10) Jan 12 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9005
- d-bugmail puremagic.com (15/15) Feb 05 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9005
http://d.puremagic.com/issues/show_bug.cgi?id=9005 Summary: std.concurrency.spawn should allow `void delegate(Args) shared` for new Tid Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: zan77137 nifty.com This code should be allowed: -------------- import core.atomic, core.thread; import std.concurrency; import core.sync.barrier; class Foo { shared int a = 0; void bar(shared Barrier barrier) shared { while (1) { Thread.sleep(dur!"msecs"(10)); if (a.atomicLoad() > 100) break; } (cast()barrier).wait(); } void countup() shared { foreach (i; 0..200) { Thread.sleep(dur!"msecs"(10)); a.atomicStore(i); } } } void main() { auto barrier = new Barrier(2); auto foo = new Foo; spawn(&foo.bar, cast(shared)barrier); foo.countup(); barrier.wait(); } -------------- The Foo.bar is thread-safe. So, making new Tid by spawn with the shared member function is no problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 12 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9005 Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/f909a18dca275308c5b24671121e1ee2d2d66170 fix Issue 9005 - std.concurrency.spawn should allow `void delegate(Args) shared` for new Tid http://d.puremagic.com/issues/show_bug.cgi?id=9005 https://github.com/D-Programming-Language/phobos/commit/5274ebc0326fe9c6ea5b64622f07e31a7732ca69 fix Issue 9005 - std.concurrency.spawn should allow `void delegate(Args) shared` for new Tid -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 19 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9005 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yebblies gmail.com Is this fixed now? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 12 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9005 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |andrej.mitrovich gmail.com Resolution| |FIXED 12:54:37 PST --- Fixed, however the sample needs to change: auto foo = new Foo; to: auto foo = new shared(Foo); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 05 2013