deadlock.php 670 B

1234567891011121314151617181920212223242526
  1. <?php
  2. ini_set('memory_limit', '8M');
  3. $table = new Swoole\Table(1024);
  4. $table->column('name', swoole_table::TYPE_STRING, 1024 * 64);
  5. $table->create();
  6. $table->set('key1', ['name' => str_repeat('A', 1024 * 64 - 1) . "\n"]);
  7. if (pcntl_fork() == 0) {
  8. sleep(1);
  9. $r = $table->get('key1');
  10. var_dump(strlen($r['name']));
  11. } else {
  12. $mu1 = memory_get_usage();
  13. var_dump($mu1);
  14. $str = str_repeat('A', 1024 * 1024 * 5);
  15. $str2 = str_repeat('A', 1024 * 1024);
  16. $str3 = str_repeat('A', 1024 * 64);
  17. var_dump(memory_get_usage());
  18. $r = $table->get('key1');
  19. var_dump(strlen($r['name']));
  20. echo substr($str, 0, 8);
  21. pcntl_wait($status);
  22. }