TestQueues could error out because the one second sleep main.c was

using to enqueue all the jobs wasn't enough time on a slow/overloaded
system.  Instead use a global to indicate when all the work has
been enqueued, let's see if this makes the CIs work more reliably.

llvm-svn: 281418
This commit is contained in:
Jason Molenda 2016-09-13 23:29:46 +00:00
parent b459eb3529
commit d82e1063f9
2 changed files with 6 additions and 3 deletions

View File

@ -17,7 +17,6 @@ class TestQueues(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@expectedFailureAll(bugnumber="rdar://28237450")
@add_test_categories(['pyapi'])
def test_with_python_api(self):
"""Test queues inspection SB APIs."""

View File

@ -3,6 +3,8 @@
#include <dispatch/dispatch.h>
#include <pthread.h>
int finished_enqueueing_work = 0;
void
doing_the_work_1(void *in)
{
@ -45,6 +47,7 @@ submit_work_2(void *in)
dispatch_async_f (*work_performer_2, NULL, doing_the_work_2);
dispatch_async_f (*work_performer_2, NULL, doing_the_work_2);
}
finished_enqueueing_work = 1;
}
@ -73,6 +76,7 @@ stopper ()
sleep (1);
}
int main ()
{
dispatch_queue_t work_submittor_1 = dispatch_queue_create ("com.apple.work_submittor_1", DISPATCH_QUEUE_SERIAL);
@ -126,8 +130,8 @@ int main ()
});
sleep (1);
while (finished_enqueueing_work == 0)
sleep (1);
stopper ();
}