本文整理汇总了C++中c_getBase函数的典型用法代码示例。如果您正苦于以下问题:C++ c_getBase函数的具体用法?C++ c_getBase怎么用?C++ c_getBase使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了c_getBase函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: v_listenerNew
v_listener
v_listenerNew(
v_participant p,
c_bool combine)
{
v_listener _this;
v_kernel kernel;
assert(C_TYPECHECK(p,v_participant));
kernel = v_objectKernel(p);
_this = v_listener(v_objectNew(kernel,K_LISTENER));
if (_this != NULL) {
v_publicInit(v_public(_this));
(void)c_mutexInit(c_getBase(_this), &_this->mutex);
c_condInit(c_getBase(_this), &_this->cv, &_this->mutex);
_this->participant = p;
_this->eventList = NULL;
_this->lastEvent = NULL;
v_participantAdd(p, v_object(_this));
_this->terminate = FALSE;
_this->waitCount = 0;
_this->combine = combine;
}
return _this;
}
开发者ID:osrf,项目名称:opensplice,代码行数:27,代码来源:v_listener.c
示例2: idl_genXMLmeta
char *
idl_genXMLmeta (
c_type type)
{
sd_serializer metaSer;
sd_serializedData serData;
char *metaDescription = NULL;
c_iter replaceInfo;
c_iter replaceInfoStac;
replaceInfo = idl_catsDefConvertAll(idl_catsDefDefGet());
replaceInfoStac = idl_stacDefConvertAll(idl_stacDefDefGet());
metaSer = sd_serializerXMLTypeinfoNew (c_getBase(c_object(type)), TRUE);
if (metaSer)
{
serData = sd_serializerSerialize (metaSer, c_object(type));
if (serData)
{
metaDescription = sd_serializerToString (metaSer, serData);
}
sd_serializerFree (metaSer);
}
idl_catsDefRestoreAll(idl_catsDefDefGet(), replaceInfo);
idl_stacDefRestoreAll(idl_stacDefDefGet(), replaceInfoStac);
return metaDescription;
}
开发者ID:S73417H,项目名称:opensplice,代码行数:26,代码来源:idl_genMetaHelper.c
示例3: v_cacheNew
v_cache
v_cacheNew (
v_kernel kernel,
c_type type,
v_cacheKind kind)
{
c_base base = NULL;
c_type cache_t;
v_cache cache = NULL;
assert(C_TYPECHECK(cache,v_cache));
assert(C_TYPECHECK(type,c_type));
if (type) {
base = c_getBase(type);
if (base) {
cache_t = c_keep(v_kernelType(kernel,K_CACHE));
cache = c_new(cache_t);
c_free(cache_t);
if (cache) {
cache->kind = kind;
cache->itemType = c_keep(type);
v_cacheNodeInit(v_cacheNode(cache));
}
}
}
return cache;
}
开发者ID:xrl,项目名称:opensplice,代码行数:28,代码来源:v_cache.c
示例4: v_subscriberUnSubscribe
void
v_subscriberUnSubscribe(
v_subscriber s,
const c_char *partitionExpr)
{
v_partition d;
v_dataReaderConnectionChanges arg;
v_partitionPolicy old;
assert(s != NULL);
assert(C_TYPECHECK(s,v_subscriber));
arg.addedPartitions = NULL;
c_lockWrite(&s->lock);
arg.removedPartitions = v_partitionAdminRemove(s->partitions, partitionExpr);
old = s->qos->partition;
s->qos->partition = v_partitionPolicyRemove(old, partitionExpr,
c_getBase(c_object(s)));
c_free(old);
c_setWalk(s->readers, qosChangedAction, &arg);
d = v_partition(c_iterTakeFirst(arg.removedPartitions));
while (d != NULL) {
c_free(d);
d = v_partition(c_iterTakeFirst(arg.removedPartitions));
}
c_iterFree(arg.removedPartitions);
c_lockUnlock(&s->lock);
}
开发者ID:S73417H,项目名称:opensplice,代码行数:32,代码来源:v_subscriber.c
示例5: v_messageEOTExtConvertFromExtType
v_message
v_messageEOTExtConvertFromExtType (
v_messageEOTExt xmsg_eot)
{
c_type msgType = c_resolve(c_getBase((c_object)xmsg_eot), "kernelModuleI::v_messageEOT");
return v_messageExtConvertFromExtType (msgType, (v_messageExt) xmsg_eot);
}
开发者ID:osrf,项目名称:opensplice,代码行数:7,代码来源:v_messageExt.c
示例6: v_historicalDataRequestNew
v_historicalDataRequest
v_historicalDataRequestNew(
v_kernel kernel,
c_char* filter,
c_char* params[],
c_ulong nofParams,
c_time minSourceTime,
c_time maxSourceTime,
struct v_resourcePolicy *resourceLimits)
{
v_historicalDataRequest request;
c_ulong i;
c_type type;
c_base base;
request = c_new(v_kernelType(kernel,K_HISTORICALDATAREQUEST));
if (request) {
if(filter){
base = c_getBase(kernel);
request->filter = c_stringNew(base, filter);
if(params){
type = c_string_t(base);
request->filterParams = c_arrayNew(type, nofParams);
for(i=0; i<nofParams; i++){
request->filterParams[i] = c_stringNew(base, params[i]);
}
} else {
request->filterParams = NULL;
}
} else {
request->filter = NULL;
request->filterParams = NULL;
}
if ((minSourceTime.seconds == C_TIME_INVALID.seconds) &&
(minSourceTime.nanoseconds == C_TIME_INVALID.nanoseconds)) {
request->minSourceTimestamp = C_TIME_ZERO;
} else {
request->minSourceTimestamp = minSourceTime;
}
if ((maxSourceTime.seconds == C_TIME_INVALID.seconds) &&
(maxSourceTime.nanoseconds == C_TIME_INVALID.nanoseconds)) {
request->maxSourceTimestamp = C_TIME_INFINITE;
} else {
request->maxSourceTimestamp = maxSourceTime;
}
request->resourceLimits.max_samples = resourceLimits->max_samples;
request->resourceLimits.max_instances = resourceLimits->max_instances;
request->resourceLimits.max_samples_per_instance = resourceLimits->max_samples_per_instance;
} else {
OS_REPORT(OS_ERROR,
"v_historicalDataRequestNew",0,
"Failed to allocate request.");
assert(FALSE);
}
return request;
}
开发者ID:S73417H,项目名称:opensplice,代码行数:60,代码来源:v_historicalDataRequest.c
示例7: cmx_participantRegisterType
const c_char*
cmx_participantRegisterType(
const c_char* participant,
const c_char* type)
{
sd_serializer serializer;
sd_serializedData meta_data;
cmx_entityKernelArg kernelArg;
c_type topicType;
cmx_entity ce;
const c_char* result;
const c_char* msg;
ce = cmx_entityClaim(participant);
if(ce != NULL){
kernelArg = cmx_entityKernelArg(os_malloc(C_SIZEOF(cmx_entityKernelArg)));
if (u_observableAction(u_observable(ce->uentity),
cmx_entityKernelAction,
(c_voidp)kernelArg) == U_RESULT_OK)
{
serializer = sd_serializerXMLMetadataNew(c_getBase(c_object(kernelArg->kernel)));
if(serializer != NULL){
meta_data = sd_serializerFromString(serializer, type);
if (meta_data != NULL) {
topicType = c_type(sd_serializerDeserialize(serializer, meta_data));
if (topicType == NULL) {
msg = sd_serializerLastValidationMessage(serializer);
OS_REPORT(OS_ERROR,
CM_XML_CONTEXT, 0,
"Data type could not be registered, "
"because it is not valid: %s",
msg);
result = CMX_RESULT_FAILED;
} else {
result = CMX_RESULT_OK;
}
sd_serializedDataFree(meta_data);
} else {
OS_REPORT(OS_ERROR, CM_XML_CONTEXT, 0, "Construction of serialized data failed.");
result = CMX_RESULT_FAILED;
}
sd_serializerFree(serializer);
} else {
OS_REPORT(OS_ERROR, CM_XML_CONTEXT, 0, "Serializer could not be initialized");
result = CMX_RESULT_FAILED;
}
} else {
OS_REPORT(OS_ERROR, CM_XML_CONTEXT, 0, "Kernel object could not be retrieved");
result = CMX_RESULT_FAILED;
}
os_free(kernelArg);
cmx_entityRelease(ce);
} else {
result = CMX_RESULT_FAILED;
}
return result;
}
开发者ID:osrf,项目名称:opensplice,代码行数:60,代码来源:cmx_participant.c
示例8: v_persistentSnapshotRequestNew
v_persistentSnapshotRequest
v_persistentSnapshotRequestNew(
v_kernel kernel,
const c_char* partition_expression,
const c_char* topic_expression,
const c_char* uri)
{
v_persistentSnapshotRequest request;
c_base base;
request = c_new(v_kernelType(kernel,K_PERSISTENTSNAPSHOTREQUEST));
if(request)
{
base = c_getBase(kernel);
if(partition_expression)
{
request->partitionExpr = c_stringNew(base, partition_expression);
}
if(topic_expression)
{
request->topicExpr = c_stringNew(base, topic_expression);
}
if(uri)
{
request->uri = c_stringNew(base, uri);
}
} else {
OS_REPORT(OS_ERROR,
"v_kernel::v_persistentSnapshotRequest",0,
"Failed to create v_persistentSnapshotRequest object.");
assert(FALSE);
}
return request;
}
开发者ID:diorahman,项目名称:opensplice,代码行数:35,代码来源:v_kernel.c
示例9: v_networkQueueStatisticsNew
v_networkQueueStatistics v_networkQueueStatisticsNew(v_kernel k, const c_char *name)
{
v_networkQueueStatistics nqs;
c_string channelName;
assert(k != NULL);
assert(C_TYPECHECK(k, v_kernel));
if (networkQueueStatisticsType == NULL) {
networkQueueStatisticsType = c_resolve(c_getBase(k), "kernelModule::v_networkQueueStatistics");
}
nqs = v_networkQueueStatistics(v_new(k, networkQueueStatisticsType));
channelName = c_stringNew(c_getBase(c_object(k)),name);
v_networkQueueStatisticsInit(nqs,channelName);
return nqs;
}
开发者ID:xrl,项目名称:opensplice_dds,代码行数:16,代码来源:v_networkQueueStatistics.c
示例10: d_publisherNewGroupWriterCopy
c_bool
d_publisherNewGroupWriterCopy(
c_type type,
void *data,
void *to)
{
c_bool result;
d_newGroup msgFrom = (d_newGroup)data;
d_newGroup msgTo = (d_newGroup)to;
c_base base = c_getBase(type);
result = d_publisherMessageWriterCopy(&msgFrom->parentMsg, &msgTo->parentMsg);
if(msgFrom->partition){
msgTo->partition = c_stringNew(base, msgFrom->partition);
} else {
msgTo->partition = NULL;
}
if(msgFrom->topic){
msgTo->topic = c_stringNew(base, msgFrom->topic);
} else {
msgTo->topic = NULL;
}
msgTo->completeness = msgFrom->completeness;
msgTo->durabilityKind = msgFrom->durabilityKind;
msgTo->quality = msgFrom->quality;
msgTo->alignerCount = msgFrom->alignerCount;
return result;
}
开发者ID:S73417H,项目名称:opensplice,代码行数:30,代码来源:d_publisher.c
示例11: d_publisherDeleteDataWriterCopy
c_bool
d_publisherDeleteDataWriterCopy(
c_type type,
void *data,
void *to)
{
c_bool result;
d_deleteData msgFrom = d_deleteData(data);
d_deleteData msgTo = d_deleteData(to);
c_base base = c_getBase(type);
result = d_publisherMessageWriterCopy(&msgFrom->parentMsg, &msgTo->parentMsg);
msgTo->actionTime.seconds = msgFrom->actionTime.seconds;
msgTo->actionTime.nanoseconds = msgFrom->actionTime.nanoseconds;
if(msgFrom->partitionExpr) {
msgTo->partitionExpr = c_stringNew(base, msgFrom->partitionExpr);
} else {
msgTo->partitionExpr = NULL;
}
if(msgFrom->topicExpr) {
msgTo->topicExpr = c_stringNew(base, msgFrom->topicExpr);
} else {
msgTo->topicExpr = NULL;
}
return result;
}
开发者ID:S73417H,项目名称:opensplice,代码行数:28,代码来源:d_publisher.c
示例12: v_groupCacheNew
v_cache
v_groupCacheNew (
v_kernel kernel,
v_cacheKind kind)
{
c_base base;
c_type type;
v_cache cache;
assert(C_TYPECHECK(kernel,v_kernel));
base = c_getBase(kernel);
type = c_keep(v_kernelType(kernel,K_GROUPCACHEITEM));
cache = v_cacheNew(kernel,type,kind);
c_free(type);
if (!cache) {
OS_REPORT(OS_ERROR,
"v_groupCacheNew",0,
"Failed to allocate group cache.");
}
assert(C_TYPECHECK(cache, v_cache));
return cache;
}
开发者ID:xrl,项目名称:opensplice_dds,代码行数:26,代码来源:v_groupCache.c
示例13: d_publisherGroupsRequestWriterCopy
c_bool
d_publisherGroupsRequestWriterCopy(
c_type type,
void *data,
void *to)
{
c_bool result;
d_groupsRequest msgFrom = (d_groupsRequest)data;
d_groupsRequest msgTo = (d_groupsRequest)to;
c_base base = c_getBase(type);
result = d_publisherMessageWriterCopy(&d_groupsRequest(data)->parentMsg, &d_groupsRequest(to)->parentMsg);
if(msgFrom->partition){
msgTo->partition = c_stringNew(base, msgFrom->partition);
} else {
msgTo->partition = NULL;
}
if(msgFrom->topic){
msgTo->topic = c_stringNew(base, msgFrom->topic);
} else {
msgTo->topic = NULL;
}
return result;
}
开发者ID:S73417H,项目名称:opensplice,代码行数:26,代码来源:d_publisher.c
示例14: v_participantCandMCommandSetDisposeAllData
v_result v_participantCandMCommandSetDisposeAllData(v_participant participant,
v_message msg,
char *topicExpr,
char *partitionExpr)
{
v_kernel kernel;
v_topic topic;
c_base base;
v_controlAndMonitoringCommand *command;
struct v_commandDisposeAllData *disposeCmd;
assert(participant != NULL);
assert(C_TYPECHECK(participant,v_participant));
assert(msg != NULL );
assert(C_TYPECHECK(msg,v_message));
kernel = v_objectKernel(participant);
topic = v_builtinTopicLookup(kernel->builtin, V_C_AND_M_COMMAND_ID);
command = v_builtinControlAndMonitoringCommandData(kernel->builtin, msg);
command->u._d = V_COMMAND_DISPOSE_ALL_DATA;
base = c_getBase(c_object(topic));
disposeCmd = &command->u._u.dispose_all_data_info;
disposeCmd->topicExpr = c_stringNew(base, topicExpr);
disposeCmd->partitionExpr = c_stringNew(base, partitionExpr);
return ( ( disposeCmd->topicExpr != NULL
&& disposeCmd->partitionExpr != NULL )
? V_RESULT_OK
: V_RESULT_OUT_OF_MEMORY );
}
开发者ID:xrl,项目名称:opensplice,代码行数:31,代码来源:v_participant.c
示例15: cmx_writerDataTypeAction
void
cmx_writerDataTypeAction(
v_entity entity,
c_voidp args)
{
sd_serializer ser;
sd_serializedData data;
c_type type;
struct cmx_writerTypeArg *arg;
arg = (struct cmx_writerTypeArg *)args;
type = NULL;
switch(v_object(entity)->kind){
case K_WRITER:
type = v_topicDataType(v_writer(entity)->topic);
break;
default:
OS_REPORT(OS_ERROR, CM_XML_CONTEXT, 0, "Trying to resolve dataType of writer that is not a writer.\n");
assert(FALSE);
break;
}
if(type != NULL){
ser = sd_serializerXMLMetadataNew(c_getBase(type));
data = sd_serializerSerialize(ser, type);
arg->result = sd_serializerToString(ser, data);
sd_serializedDataFree(data);
sd_serializerFree(ser);
}
}
开发者ID:diorahman,项目名称:opensplice,代码行数:31,代码来源:cmx_writer.c
示例16: createKeyType
static c_type
createKeyType(
const c_char *name,
c_array keyList)
{
c_base base;
c_type foundType;
c_char *typeName;
c_char keyName[16];
c_long i, length, sres;
c_array members;
c_metaObject o;
c_field field;
if (keyList == NULL) {
return NULL;
}
base = c_getBase(keyList);
length = c_arraySize(keyList);
if (length == 0) {
return NULL;
}
o = c_metaDefine(c_metaObject(base),M_STRUCTURE);
members = c_arrayNew(c_member_t(base),length);
for (i=0;i<length;i++) {
field = keyList[i];
assert(field != NULL);
members[i] = (c_voidp)c_metaDefine(c_metaObject(base),M_MEMBER);
sprintf(keyName,"field%d",i);
c_specifier(members[i])->name = c_stringNew(base,keyName);
c_specifier(members[i])->type = c_keep(c_fieldType(field));
}
c_structure(o)->members = members;
c_metaObject(o)->definedIn = c_metaObject(base);
c_metaFinalize(o);
#define KEY_NAME "<Key>"
#define KEY_FORMAT "%s<Key>"
if (name != NULL) {
length = sizeof(KEY_NAME) + strlen(name);
typeName = os_malloc(length);
sres = snprintf(typeName,length,KEY_FORMAT,name);
assert(sres == (length-1));
} else {
assert(FALSE);
length = 100;
typeName = os_malloc(length);
os_sprintf(typeName,PA_ADDRFMT KEY_NAME,(c_address)o);
}
#undef KEY_NAME
#undef KEY_FORMAT
foundType = c_type(c_metaBind(c_metaObject(base),typeName,o));
c_free(o);
os_free(typeName);
return foundType;
}
开发者ID:xrl,项目名称:opensplice_dds,代码行数:60,代码来源:d_topicInfo.c
示例17: retrieveBase
static void
retrieveBase(v_entity e, c_voidp arg)
{
c_base *pbase = (c_base *) arg;
*pbase = c_getBase(e);
}
开发者ID:diorahman,项目名称:opensplice,代码行数:7,代码来源:gapi_kernel.c
示例18: v_participantInit
void
v_participantInit(
v_participant p,
const c_char *name,
v_participantQos qos,
v_statistics s,
c_bool enable)
{
v_kernel kernel;
c_base base;
v_message builtinMsg;
c_type writerProxyType;
assert(C_TYPECHECK(p,v_participant));
assert(C_TYPECHECK(qos, v_participantQos));
kernel = v_objectKernel(p);
base = c_getBase(p);
v_observerInit(v_observer(p),name,s,enable);
p->entities = c_setNew(c_resolve(base,"kernelModule::v_entity"));
p->qos = c_keep(qos);
/* Currently default LIVELINESS policy is used: kind=AUTOMATIC,
* duration=INFINITE This setting implies no lease registration.
*/
p->lease = NULL;
p->leaseManager = v_leaseManagerNew(kernel);
p->resendQuit = FALSE;
c_mutexInit(&p->resendMutex, SHARED_MUTEX);
c_condInit(&p->resendCond, &p->resendMutex, SHARED_COND);
writerProxyType = v_kernelType(kernel,K_PROXY);
p->resendWriters = c_tableNew(writerProxyType, "source.index,source.serial");
p->builtinSubscriber = NULL;
if (!v_observableAddObserver(v_observable(kernel),v_observer(p), NULL)) {
if (name != NULL) {
OS_REPORT_1(OS_WARNING,"Kernel Participant",0,
"%s: Cannot observe Kernel events",name);
} else {
OS_REPORT(OS_WARNING,"Kernel Participant",0,
"Cannot observe Kernel events");
}
}
c_mutexInit(&p->newGroupListMutex,SHARED_MUTEX);
p->newGroupList = c_listNew(c_resolve(base, "kernelModule::v_group"));
v_observerSetEventMask(v_observer(p), V_EVENT_NEW_GROUP);
c_lockInit(&p->lock,SHARED_LOCK);
c_mutexInit(&p->builtinLock,SHARED_MUTEX);
/* Here the Builtin Topic of the participant is published.
* This call mabe a noop in case builtin is disabled on kernel level.
*/
builtinMsg = v_builtinCreateParticipantInfo(kernel->builtin,p);
v_writeBuiltinTopic(kernel, V_PARTICIPANTINFO_ID, builtinMsg);
c_free(builtinMsg);
}
开发者ID:xrl,项目名称:opensplice,代码行数:59,代码来源:v_participant.c
示例19: cmx_writerNew
c_char*
cmx_writerNew(
const c_char* publisher,
const c_char* name,
const c_char* topic,
const c_char* qos)
{
u_publisher pub;
u_topic top;
u_writer wri;
c_char* result;
cmx_entityArg arg;
u_result ur;
cmx_entityKernelArg kernelArg;
v_writerQos wQos;
result = NULL;
pub = u_publisher(cmx_entityUserEntity(publisher));
if(pub != NULL){
top = u_topic(cmx_entityUserEntity(topic));
if(top != NULL){
kernelArg = cmx_entityKernelArg(os_malloc(C_SIZEOF(cmx_entityKernelArg)));
u_entityAction(u_entity(pub), cmx_entityKernelAction, (c_voidp)kernelArg);
if(qos != NULL){
wQos = v_writerQos(cmx_qosKernelQosFromKind(qos, K_WRITER, c_getBase(c_object(kernelArg->kernel))));
if(wQos == NULL){
wQos = v_writerQosNew(kernelArg->kernel, NULL);
wQos->reliability.kind = V_RELIABILITY_RELIABLE;
}
} else {
wQos = v_writerQosNew(kernelArg->kernel, NULL);
wQos->reliability.kind = V_RELIABILITY_RELIABLE;
}
wri = u_writerNew(pub, name, top, NULL, wQos, TRUE);
os_free(kernelArg);
c_free(wQos);
if(wri != NULL){
cmx_registerEntity(u_entity(wri));
arg = cmx_entityArg(os_malloc(C_SIZEOF(cmx_entityArg)));
arg->entity = u_entity(wri);
arg->create = FALSE;
arg->participant = NULL;
arg->result = NULL;
ur = u_entityAction(u_entity(wri), cmx_entityNewFromAction, (c_voidp)(arg));
if(ur == U_RESULT_OK){
result = arg->result;
os_free(arg);
}
}
}
}
return result;
}
开发者ID:diorahman,项目名称:opensplice,代码行数:59,代码来源:cmx_writer.c
示例20: v_participantGetBuiltinSubscriber
v_subscriber
v_participantGetBuiltinSubscriber(
v_participant p)
{
v_subscriberQos sQos;
v_readerQos rQos;
v_kernel kernel;
c_bool create_builtin_readers = FALSE;
assert(p != NULL);
assert(C_TYPECHECK(p, v_participant));
c_mutexLock(&p->builtinLock);
if (p->builtinSubscriber == NULL) {
kernel = v_objectKernel(p);
sQos = v_subscriberQosNew(kernel, NULL);
sQos->presentation.access_scope = V_PRESENTATION_TOPIC;
c_free(sQos->partition);
sQos->partition = c_stringNew(c_getBase(c_object(kernel)),
V_BUILTIN_PARTITION);
sQos->entityFactory.autoenable_created_entities = TRUE;
p->builtinSubscriber = v_subscriberNew(p, V_BUILTINSUBSCRIBER_NAME,
sQos, TRUE);
v_subscriberQosFree(sQos);
create_builtin_readers = TRUE;
c_mutexUnlock(&p->builtinLock);
assert(p->builtinSubscriber != NULL);
rQos = v_readerQosNew(kernel, NULL);
rQos->durability.kind = V_DURABILITY_TRANSIENT;
rQos->reliability.kind = V_RELIABILITY_RELIABLE;
rQos->history.kind = V_HISTORY_KEEPLAST;
rQos->history.depth = 1;
#define _CREATE_READER_(topicName) {\
q_expr expr; \
v_dataReader dr; \
expr = q_parse("select * from " topicName);\
dr = v_dataReaderNew(p->builtinSubscriber, topicName "Reader", \
expr, NULL, rQos, TRUE);\
c_free(dr); \
q_dispose(expr); \
}
_CREATE_READER_(V_PARTICIPANTINFO_NAME)
_CREATE_READER_(V_TOPICINFO_NAME)
_CREATE_READER_(V_PUBLICATIONINFO_NAME)
_CREATE_READER_(V_SUBSCRIPTIONINFO_NAME)
#undef _CREATE_READER_
v_readerQosFree(rQos);
} else {
c_mutexUnlock(&p->builtinLock);
}
return c_keep(p->builtinSubscriber);
}
开发者ID:xrl,项目名称:opensplice,代码行数:58,代码来源:v_participant.c
注:本文中的c_getBase函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论