 				group.wait()
 
 				expect(executionCounter.value) == iterations * 2
-				expect(counter.value).toEventually(equal(iterations), timeout: 10)
+				expect(counter.value).toEventually(equal(iterations), timeout: 5)
 			}
 		}
 

					queue = DispatchQueue.global(priority: .high)
				}

				let iterations = 100000
				let group = DispatchGroup()

				queue.async(group: group) {

				signal.observe { event in
					if !hasSlept {
						sema.signal()
						// 100000 us = 0.1 s
						usleep(100000)
						hasSlept = true
					}
					events.append(event)
