forked from OSchip/llvm-project
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:
parent
b459eb3529
commit
d82e1063f9
|
@ -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."""
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue