@@ 487-510 (lines=24) @@ | ||
484 | worker.join(0.5) |
|
485 | lock.reset() |
|
486 | worker.join(0.5) |
|
487 | ||
488 | assert unblocked.value == 1 |
|
489 | ||
490 | ||
491 | def test_reset_all_signalizes(make_conn, make_process): |
|
492 | """Call to reset_all() causes LPUSH to all signal keys, so blocked waiters |
|
493 | become unblocked.""" |
|
494 | def workerfn(unblocked): |
|
495 | conn = make_conn() |
|
496 | lock1 = Lock(conn, 'lock1') |
|
497 | lock2 = Lock(conn, 'lock2') |
|
498 | if lock1.acquire() and lock2.acquire(): |
|
499 | unblocked.value = 1 |
|
500 | ||
501 | unblocked = multiprocessing.Value('B', 0) |
|
502 | conn = make_conn() |
|
503 | lock1 = Lock(conn, 'lock1') |
|
504 | lock2 = Lock(conn, 'lock2') |
|
505 | lock1.acquire() |
|
506 | lock2.acquire() |
|
507 | ||
508 | worker = make_process(target=workerfn, args=(unblocked,)) |
|
509 | worker.start() |
|
510 | worker.join(0.5) |
|
511 | reset_all(conn) |
|
512 | worker.join(0.5) |
|
513 | ||
@@ 464-484 (lines=21) @@ | ||
461 | lock = Lock(conn, 'foo') |
|
462 | lock.acquire() |
|
463 | reset_all(conn) |
|
464 | assert conn.llen('lock-signal:foo') == 0 |
|
465 | assert conn.exists('lock-signal:foo') == 0 |
|
466 | ||
467 | ||
468 | def test_reset_signalizes(make_conn, make_process): |
|
469 | """Call to reset() causes LPUSH to signal key, so blocked waiters |
|
470 | become unblocked.""" |
|
471 | def workerfn(unblocked): |
|
472 | conn = make_conn() |
|
473 | lock = Lock(conn, 'lock') |
|
474 | if lock.acquire(): |
|
475 | unblocked.value = 1 |
|
476 | ||
477 | unblocked = multiprocessing.Value('B', 0) |
|
478 | conn = make_conn() |
|
479 | lock = Lock(conn, 'lock') |
|
480 | lock.acquire() |
|
481 | ||
482 | worker = make_process(target=workerfn, args=(unblocked,)) |
|
483 | worker.start() |
|
484 | worker.join(0.5) |
|
485 | lock.reset() |
|
486 | worker.join(0.5) |
|
487 |