MCPcopy Create free account
hub / github.com/acl-dev/acl / open_file

Method open_file

lib_acl_cpp/src/queue/queue_manager.cpp:91–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89}
90
91queue_file* queue_manager::open_file(const char* filePath, bool no_cache /* = true */)
92{
93 string home, queueName, queueSub, partName, extName;
94 if (!queue_manager::parse_filePath(filePath, &home, &queueName,
95 &queueSub, &partName, &extName)) {
96
97 logger_error("filePath(%s) invalid", filePath);
98 return NULL;
99 }
100
101 queue_file* fp;
102
103 // ������ļ��������ڴ�����ֱ�ӷ���֮
104 fp = cache_find(partName);
105 if (fp != NULL) {
106 if (no_cache) {
107 logger_warn("file: %s locked", filePath);
108 return NULL;
109 }
110 return fp;
111 }
112
113 // �Ӵ��̴��Ѿ����ڵĶ����ļ�
114 fp = NEW queue_file;
115 if (!fp->open(home.c_str(), queueName.c_str(), queueSub.c_str(),
116 partName.c_str(), extName.c_str())) {
117
118 delete fp;
119 return NULL;
120 }
121 cache_add(fp);
122 return fp;
123}
124
125bool queue_manager::close_file(queue_file* fp)
126{

Callers

nothing calls this directly

Calls 2

openMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected