/[LeafOK_CVS]/lbbs/src/test_section_list.c
ViewVC logotype

Diff of /lbbs/src/test_section_list.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.22 by sysadm, Sun May 25 10:43:27 2025 UTC Revision 1.25 by sysadm, Mon May 26 23:38:11 2025 UTC
# Line 119  int main(int argc, char *argv[]) Line 119  int main(int argc, char *argv[])
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++)
# Line 185  int main(int argc, char *argv[]) Line 185  int main(int argc, char *argv[])
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    
# Line 210  int main(int argc, char *argv[]) Line 210  int main(int argc, char *argv[])
210                  // printf("Loaded %d articles into section %d\n", p_section[i]->article_count, i);                  // printf("Loaded %d articles into section %d\n", p_section[i]->article_count, i);
211          }          }
212    
213            if (last_aid != article_block_last_aid())
214            {
215                    printf("last_aid != %d\n", article_block_last_aid());
216            }
217    
218          last_aid = 0;          last_aid = 0;
219    
220          for (j = 0; j < BBS_article_limit_per_section; j++)          for (j = 0; j < BBS_article_limit_per_section; j++)
# Line 224  int main(int argc, char *argv[]) Line 229  int main(int argc, char *argv[])
229                                  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);
230                          }                          }
231    
232                          if (section_list_try_rw_lock(p_section[i], 1) < 0)                          if (section_list_rw_lock(p_section[i]) < 0)
233                          {                          {
234                                  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);
235                                  break;                                  break;
236                          }                          }
237    
# Line 247  int main(int argc, char *argv[]) Line 252  int main(int argc, char *argv[])
252    
253          printf("Testing #2 ...\n");          printf("Testing #2 ...\n");
254    
255          if (section_list_try_rw_lock(NULL, 1) < 0)          if (section_list_rw_lock(NULL) < 0)
256          {          {
257                  printf("section_list_try_rw_lock(sid = %d) error\n", 0);                  printf("section_list_rw_lock(sid = %d) error\n", 0);
258          }          }
259    
260          if (article_block_reset() != 0)          if (article_block_reset() != 0)
# Line 274  int main(int argc, char *argv[]) Line 279  int main(int argc, char *argv[])
279          {          {
280                  section_first_aid = last_aid + 1;                  section_first_aid = last_aid + 1;
281    
282                  if (section_list_try_rw_lock(p_section[i], 1) < 0)                  if (section_list_rw_lock(p_section[i]) < 0)
283                  {                  {
284                          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);
285                          break;                          break;
286                  }                  }
287    
# Line 322  int main(int argc, char *argv[]) Line 327  int main(int argc, char *argv[])
327                  article_count = 0;                  article_count = 0;
328                  last_aid = 0;                  last_aid = 0;
329    
330                  if (section_list_try_rd_lock(p_section[i], 1) < 0)                  if (section_list_rd_lock(p_section[i]) < 0)
331                  {                  {
332                          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);
333                          break;                          break;
334                  }                  }
335    
# Line 366  int main(int argc, char *argv[]) Line 371  int main(int argc, char *argv[])
371                          continue;                          continue;
372                  }                  }
373    
374                  if (section_list_try_rd_lock(p_section[i], 1) < 0)                  if (section_list_rd_lock(p_section[i]) < 0)
375                  {                  {
376                          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);
377                          break;                          break;
378                  }                  }
379    
# Line 448  int main(int argc, char *argv[]) Line 453  int main(int argc, char *argv[])
453          {          {
454                  last_aid = 0;                  last_aid = 0;
455    
456                  if (section_list_try_rd_lock(p_section[i], 1) < 0)                  if (section_list_rd_lock(p_section[i]) < 0)
457                  {                  {
458                          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);
459                          break;                          break;
460                  }                  }
461    
# Line 490  int main(int argc, char *argv[]) Line 495  int main(int argc, char *argv[])
495    
496          for (i = 0; i < section_count; i++)          for (i = 0; i < section_count; i++)
497          {          {
498                  if (section_list_try_rw_lock(p_section[i], 1) < 0)                  if (section_list_rw_lock(p_section[i]) < 0)
499                  {                  {
500                          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);
501                          break;                          break;
502                  }                  }
503    
# Line 635  int main(int argc, char *argv[]) Line 640  int main(int argc, char *argv[])
640    
641          for (i = 0; i < BBS_max_section; i++)          for (i = 0; i < BBS_max_section; i++)
642          {          {
643                  if (section_list_try_rw_lock(p_section[i], 1) < 0)                  if (section_list_rw_lock(p_section[i]) < 0)
644                  {                  {
645                          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);
646                          break;                          break;
647                  }                  }
648    
# Line 704  int main(int argc, char *argv[]) Line 709  int main(int argc, char *argv[])
709    
710          printf("Testing #5 ...\n");          printf("Testing #5 ...\n");
711    
712          if (section_list_try_rw_lock(NULL, 1) < 0)          if (section_list_rw_lock(NULL) < 0)
713          {          {
714                  printf("section_list_try_rw_lock(sid = %d) error\n", 0);                  printf("section_list_rw_lock(sid = %d) error\n", 0);
715          }          }
716    
717          if (article_block_reset() != 0)          if (article_block_reset() != 0)
# Line 729  int main(int argc, char *argv[]) Line 734  int main(int argc, char *argv[])
734    
735          for (i = 0; i < section_count / 2; i++)          for (i = 0; i < section_count / 2; i++)
736          {          {
737                  if (section_list_try_rw_lock(p_section[i], 1) < 0)                  if (section_list_rw_lock(p_section[i]) < 0)
738                  {                  {
739                          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);
740                          break;                          break;
741                  }                  }
742    
# Line 771  int main(int argc, char *argv[]) Line 776  int main(int argc, char *argv[])
776    
777          for (i = 0; i < section_count / 2; i++)          for (i = 0; i < section_count / 2; i++)
778          {          {
779                  if (section_list_try_rw_lock(p_section[i], 1) < 0)                  if (section_list_rw_lock(p_section[i]) < 0)
780                  {                  {
781                          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);
782                          break;                          break;
783                  }                  }
784    
# Line 804  int main(int argc, char *argv[]) Line 809  int main(int argc, char *argv[])
809    
810          for (i = 0; i < section_count / 2; i++)          for (i = 0; i < section_count / 2; i++)
811          {          {
812                  if (section_list_try_rw_lock(p_section[i], 1) < 0)                  if (section_list_rw_lock(p_section[i]) < 0)
813                  {                  {
814                          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);
815                          break;                          break;
816                  }                  }
817    
818                  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)
819                  {                  {
820                          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);
821    
822                          if (section_list_rw_unlock(p_section[i]) < 0)                          if (section_list_rw_unlock(p_section[i]) < 0)
823                          {                          {
# Line 862  int main(int argc, char *argv[]) Line 867  int main(int argc, char *argv[])
867    
868          for (i = 0; i < section_count; i++)          for (i = 0; i < section_count; i++)
869          {          {
870                  if (section_list_try_rd_lock(p_section[i], 1) < 0)                  if (section_list_rd_lock(p_section[i]) < 0)
871                  {                  {
872                          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);
873                          break;                          break;
874                  }                  }
875    
# Line 910  int main(int argc, char *argv[]) Line 915  int main(int argc, char *argv[])
915                  }                  }
916          }          }
917    
918            printf("Testing #6 ...\n");
919    
920            for (i = 0; i < section_count; i++)
921            {
922                    if (section_list_rd_lock(p_section[i]) < 0)
923                    {
924                            printf("section_list_rd_lock(sid = %d) error\n", p_section[i]->sid);
925                            break;
926                    }
927            }
928    
929            printf("Try rw_lock for 5 sec...\n");
930            if (section_list_try_rw_lock(NULL, 5) == 0)
931            {
932                    printf("section_list_try_rw_lock(sid = %d) error, expectation is timeout\n", p_section[i]->sid);
933            }
934    
935            for (i = 0; i < section_count; i++)
936            {
937                    if (section_list_rd_unlock(p_section[i]) < 0)
938                    {
939                            printf("section_list_rd_unlock(sid = %d) error\n", p_section[i]->sid);
940                            break;
941                    }
942            }
943    
944            if (section_list_try_rw_lock(NULL, 5) < 0)
945            {
946                    printf("section_list_rd_lock(sid = %d) error\n", p_section[i]->sid);
947            }
948    
949            for (i = 0; i < section_count; i++)
950            {
951                    if (section_list_try_rd_lock(p_section[i], 0) == 0)
952                    {
953                            printf("section_list_try_rd_lock(sid = %d) error, expectation is timeout\n", p_section[i]->sid);
954                            break;
955                    }
956            }
957    
958            if (section_list_rw_unlock(NULL) < 0)
959            {
960                    printf("section_list_rw_unlock(sid = %d) error\n", p_section[i]->sid);
961            }
962    
963          printf("Press ENTER to exit...");          printf("Press ENTER to exit...");
964          getchar();          getchar();
965    


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1