https://bugzilla.novell.com/show_bug.cgi?id=671586
https://bugzilla.novell.com/show_bug.cgi?id=671586#c0 Summary: Using Task.Factory.StartNew will not create new Tasks if previous Task is blocked Classification: Mono Product: Mono: Class Libraries Version: 2.8.x Platform: x86 OS/Version: Windows 7 Status: NEW Severity: Major Priority: P5 - None Component: System AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13 I've made a program that creates Tasks using Task.Factory.StartNew to create new Tasks that block using ManualResetEvents under certain circumstances. It seems that Task.Factory.StartNew will not create new tasks if a previous Task is blocking using either ManualResetEvents#WaitOne or Thread.Sleep(). Reproducible: Always Steps to Reproduce: 1. Run a Task that blocks on a ManualResetEvent. 2. Try to run another Task while previous Task is still blocked or sleeping. Actual Results: Task 99 Started Task 2 Started Task 98 Started Task 0 Started Expected Results: Task 0 Started Task 1 Started Task 3 Started Task 2 Started Task 4 Started Task 5 Started .. 100 times ... The attached code works as expected in the MS runtime but not in the Mono runtime (only creates as many threads as there are threads on your CPU). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
