| 15 |
***************************************************************************/ |
***************************************************************************/ |
| 16 |
|
|
| 17 |
#include "section_list.h" |
#include "section_list.h" |
| 18 |
|
#include "trie_dict.h" |
| 19 |
#include "bbs.h" |
#include "bbs.h" |
| 20 |
#include "log.h" |
#include "log.h" |
| 21 |
#include <stdio.h> |
#include <stdio.h> |
| 24 |
|
|
| 25 |
#define ARTICLE_BLOCK_SHM_FILE "~article_block_shm.dat" |
#define ARTICLE_BLOCK_SHM_FILE "~article_block_shm.dat" |
| 26 |
#define SECTION_LIST_SHM_FILE "~section_list_shm.dat" |
#define SECTION_LIST_SHM_FILE "~section_list_shm.dat" |
| 27 |
|
#define TRIE_DICT_SHM_FILE "~trie_dict_shm.dat" |
| 28 |
|
|
| 29 |
const char *sname[] = { |
const char *sname[] = { |
| 30 |
"Test", |
"Test", |
| 90 |
} |
} |
| 91 |
fclose(fp); |
fclose(fp); |
| 92 |
|
|
| 93 |
|
if ((fp = fopen(TRIE_DICT_SHM_FILE, "w")) == NULL) |
| 94 |
|
{ |
| 95 |
|
log_error("fopen(%s) error\n", TRIE_DICT_SHM_FILE); |
| 96 |
|
return -1; |
| 97 |
|
} |
| 98 |
|
fclose(fp); |
| 99 |
|
|
| 100 |
|
if (trie_dict_init(TRIE_DICT_SHM_FILE, TRIE_NODE_PER_POOL) < 0) |
| 101 |
|
{ |
| 102 |
|
printf("trie_dict_init failed\n"); |
| 103 |
|
return -1; |
| 104 |
|
} |
| 105 |
|
|
| 106 |
if (article_block_init(ARTICLE_BLOCK_SHM_FILE, block_count) < 0) |
if (article_block_init(ARTICLE_BLOCK_SHM_FILE, block_count) < 0) |
| 107 |
{ |
{ |
| 108 |
log_error("article_block_init(%s, %d) error\n", ARTICLE_BLOCK_SHM_FILE, block_count); |
log_error("article_block_init(%s, %d) error\n", ARTICLE_BLOCK_SHM_FILE, block_count); |
| 109 |
return -2; |
return -2; |
| 110 |
} |
} |
| 111 |
|
|
| 112 |
if (section_list_pool_init(SECTION_LIST_SHM_FILE) < 0) |
if (section_list_init(SECTION_LIST_SHM_FILE) < 0) |
| 113 |
{ |
{ |
| 114 |
log_error("section_list_pool_init(%s) error\n", SECTION_LIST_SHM_FILE); |
log_error("section_list_pool_init(%s) error\n", SECTION_LIST_SHM_FILE); |
| 115 |
return -2; |
return -2; |
| 913 |
printf("Press ENTER to exit..."); |
printf("Press ENTER to exit..."); |
| 914 |
getchar(); |
getchar(); |
| 915 |
|
|
| 916 |
|
section_list_cleanup(); |
| 917 |
article_block_cleanup(); |
article_block_cleanup(); |
| 918 |
section_list_pool_cleanup(); |
trie_dict_cleanup(); |
| 919 |
|
|
| 920 |
|
if (unlink(TRIE_DICT_SHM_FILE) < 0) |
| 921 |
|
{ |
| 922 |
|
log_error("unlink(%s) error\n", TRIE_DICT_SHM_FILE); |
| 923 |
|
return -1; |
| 924 |
|
} |
| 925 |
|
|
| 926 |
if (unlink(ARTICLE_BLOCK_SHM_FILE) < 0) |
if (unlink(ARTICLE_BLOCK_SHM_FILE) < 0) |
| 927 |
{ |
{ |