| 97 |
} |
} |
| 98 |
fclose(fp); |
fclose(fp); |
| 99 |
|
|
| 100 |
if (trie_dict_init(TRIE_DICT_SHM_FILE) < 0) |
if (trie_dict_init(TRIE_DICT_SHM_FILE, TRIE_NODE_PER_POOL) < 0) |
| 101 |
{ |
{ |
| 102 |
printf("trie_dict_init failed\n"); |
printf("trie_dict_init failed\n"); |
| 103 |
return -1; |
return -1; |
| 119 |
|
|
| 120 |
last_aid = 0; |
last_aid = 0; |
| 121 |
|
|
| 122 |
if (section_list_try_rw_lock(NULL, 1) < 0) |
if (section_list_rw_lock(NULL) < 0) |
| 123 |
{ |
{ |
| 124 |
printf("section_list_try_rw_lock(sid = %d) error\n", 0); |
printf("section_list_rw_lock(sid = %d) error\n", 0); |
| 125 |
} |
} |
| 126 |
|
|
| 127 |
for (i = 0; i < section_count; i++) |
for (i = 0; i < section_count; i++) |
| 185 |
article.ontop = 0; |
article.ontop = 0; |
| 186 |
article.lock = 0; |
article.lock = 0; |
| 187 |
|
|
| 188 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 189 |
{ |
{ |
| 190 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 191 |
break; |
break; |
| 192 |
} |
} |
| 193 |
|
|
| 224 |
printf("article_block_find_by_aid() at section %d index %d, %d != %d\n", i, j, p_article->aid, last_aid); |
printf("article_block_find_by_aid() at section %d index %d, %d != %d\n", i, j, p_article->aid, last_aid); |
| 225 |
} |
} |
| 226 |
|
|
| 227 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 228 |
{ |
{ |
| 229 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 230 |
break; |
break; |
| 231 |
} |
} |
| 232 |
|
|
| 247 |
|
|
| 248 |
printf("Testing #2 ...\n"); |
printf("Testing #2 ...\n"); |
| 249 |
|
|
| 250 |
if (section_list_try_rw_lock(NULL, 1) < 0) |
if (section_list_rw_lock(NULL) < 0) |
| 251 |
{ |
{ |
| 252 |
printf("section_list_try_rw_lock(sid = %d) error\n", 0); |
printf("section_list_rw_lock(sid = %d) error\n", 0); |
| 253 |
} |
} |
| 254 |
|
|
| 255 |
if (article_block_reset() != 0) |
if (article_block_reset() != 0) |
| 274 |
{ |
{ |
| 275 |
section_first_aid = last_aid + 1; |
section_first_aid = last_aid + 1; |
| 276 |
|
|
| 277 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 278 |
{ |
{ |
| 279 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 280 |
break; |
break; |
| 281 |
} |
} |
| 282 |
|
|
| 322 |
article_count = 0; |
article_count = 0; |
| 323 |
last_aid = 0; |
last_aid = 0; |
| 324 |
|
|
| 325 |
if (section_list_try_rd_lock(p_section[i], 1) < 0) |
if (section_list_rd_lock(p_section[i]) < 0) |
| 326 |
{ |
{ |
| 327 |
printf("section_list_try_rd_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rd_lock(sid = %d) error\n", p_section[i]->sid); |
| 328 |
break; |
break; |
| 329 |
} |
} |
| 330 |
|
|
| 366 |
continue; |
continue; |
| 367 |
} |
} |
| 368 |
|
|
| 369 |
if (section_list_try_rd_lock(p_section[i], 1) < 0) |
if (section_list_rd_lock(p_section[i]) < 0) |
| 370 |
{ |
{ |
| 371 |
printf("section_list_try_rd_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rd_lock(sid = %d) error\n", p_section[i]->sid); |
| 372 |
break; |
break; |
| 373 |
} |
} |
| 374 |
|
|
| 448 |
{ |
{ |
| 449 |
last_aid = 0; |
last_aid = 0; |
| 450 |
|
|
| 451 |
if (section_list_try_rd_lock(p_section[i], 1) < 0) |
if (section_list_rd_lock(p_section[i]) < 0) |
| 452 |
{ |
{ |
| 453 |
printf("section_list_try_rd_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rd_lock(sid = %d) error\n", p_section[i]->sid); |
| 454 |
break; |
break; |
| 455 |
} |
} |
| 456 |
|
|
| 490 |
|
|
| 491 |
for (i = 0; i < section_count; i++) |
for (i = 0; i < section_count; i++) |
| 492 |
{ |
{ |
| 493 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 494 |
{ |
{ |
| 495 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 496 |
break; |
break; |
| 497 |
} |
} |
| 498 |
|
|
| 635 |
|
|
| 636 |
for (i = 0; i < BBS_max_section; i++) |
for (i = 0; i < BBS_max_section; i++) |
| 637 |
{ |
{ |
| 638 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 639 |
{ |
{ |
| 640 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 641 |
break; |
break; |
| 642 |
} |
} |
| 643 |
|
|
| 704 |
|
|
| 705 |
printf("Testing #5 ...\n"); |
printf("Testing #5 ...\n"); |
| 706 |
|
|
| 707 |
if (section_list_try_rw_lock(NULL, 1) < 0) |
if (section_list_rw_lock(NULL) < 0) |
| 708 |
{ |
{ |
| 709 |
printf("section_list_try_rw_lock(sid = %d) error\n", 0); |
printf("section_list_rw_lock(sid = %d) error\n", 0); |
| 710 |
} |
} |
| 711 |
|
|
| 712 |
if (article_block_reset() != 0) |
if (article_block_reset() != 0) |
| 729 |
|
|
| 730 |
for (i = 0; i < section_count / 2; i++) |
for (i = 0; i < section_count / 2; i++) |
| 731 |
{ |
{ |
| 732 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 733 |
{ |
{ |
| 734 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 735 |
break; |
break; |
| 736 |
} |
} |
| 737 |
|
|
| 771 |
|
|
| 772 |
for (i = 0; i < section_count / 2; i++) |
for (i = 0; i < section_count / 2; i++) |
| 773 |
{ |
{ |
| 774 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 775 |
{ |
{ |
| 776 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 777 |
break; |
break; |
| 778 |
} |
} |
| 779 |
|
|
| 804 |
|
|
| 805 |
for (i = 0; i < section_count / 2; i++) |
for (i = 0; i < section_count / 2; i++) |
| 806 |
{ |
{ |
| 807 |
if (section_list_try_rw_lock(p_section[i], 1) < 0) |
if (section_list_rw_lock(p_section[i]) < 0) |
| 808 |
{ |
{ |
| 809 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[i]->sid); |
| 810 |
break; |
break; |
| 811 |
} |
} |
| 812 |
|
|
| 813 |
if (section_list_try_rw_lock(p_section[section_count / 2 + i], 1) < 0) |
if (section_list_rw_lock(p_section[section_count / 2 + i]) < 0) |
| 814 |
{ |
{ |
| 815 |
printf("section_list_try_rw_lock(sid = %d) error\n", p_section[section_count / 2 + i]->sid); |
printf("section_list_rw_lock(sid = %d) error\n", p_section[section_count / 2 + i]->sid); |
| 816 |
|
|
| 817 |
if (section_list_rw_unlock(p_section[i]) < 0) |
if (section_list_rw_unlock(p_section[i]) < 0) |
| 818 |
{ |
{ |
| 862 |
|
|
| 863 |
for (i = 0; i < section_count; i++) |
for (i = 0; i < section_count; i++) |
| 864 |
{ |
{ |
| 865 |
if (section_list_try_rd_lock(p_section[i], 1) < 0) |
if (section_list_rd_lock(p_section[i]) < 0) |
| 866 |
{ |
{ |
| 867 |
printf("section_list_try_rd_lock(sid = %d) error\n", p_section[i]->sid); |
printf("section_list_rd_lock(sid = %d) error\n", p_section[i]->sid); |
| 868 |
break; |
break; |
| 869 |
} |
} |
| 870 |
|
|