RPCGEN -M *.x 在pnfsd中的修改。 *_svc.c

该文件是RPCGEN生成的服务器端的存根。主要做了以下的修改

0.每个对应的 

program NEWMDSADD_PROG
{
version NEWMDSADD_VERS
{
struct metadata_info newmdsadd(struct mds_info) = 1;
int migrate_metadata(struct metadata_info) = 2;
int newmdsdone(struct migrate_argument) = 3;
}=1;
}=0x20110910;

都对应在*.svc.c里面对应一个

static void
newmdsadd_prog_1(struct svc_req *rqstp, register SVCXPRT *transp)

 

1.首先加入了一个外部数据类型。extern pthread_mutex_t Priorty_lock;是一个锁,该锁是为了使使用该锁的函数执行的优先级大于main函数的优先级,应该是main函数会用到使用该锁的函数返回的信息。

2.最后,由rpcgen生成的文件里面的函数式main函数,用来注册和建立对应关系。但是在项目中修改为

void *
newmdsadd_rpc (void)函数名

函数体部分,除了加入了一个pthread_mutex_lock(&Priorty_lock);

意思就是本函数的优先级将高于spnfsd.c里面的main函数。

转载于:https://www.cnblogs.com/xindufresne/p/3425678.html

你可能感兴趣的:(RPCGEN -M *.x 在pnfsd中的修改。 *_svc.c)