• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ rm_shm函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中rm_shm函数的典型用法代码示例。如果您正苦于以下问题:C++ rm_shm函数的具体用法?C++ rm_shm怎么用?C++ rm_shm使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了rm_shm函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void
cleanup(void)
{
	/* if they exist, remove the shared memory resources */
	rm_shm(shm_id_1);
	rm_shm(shm_id_2);

	if (seteuid(0) == -1) {
		tst_resm(TINFO, "setuid failed to "
				"to set the effective uid to %d",
				ltpuser->pw_uid);
		perror("seteuid");
	}

	/* Remove the temporary directory */
	tst_rmdir();

	/*
	 * print timing stats if that option was specified.
	 * print errno log if that option was specified.
	 */
	TEST_CLEANUP;

	/* exit with return code appropriate for results */
	tst_exit();
}
开发者ID:AgamAgarwal,项目名称:minix,代码行数:30,代码来源:shmctl02.c


示例2: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void cleanup(void)
{
	/* if they exist, remove the shared memory resources */
	rm_shm(shm_id_1);
	rm_shm(shm_id_2);

	tst_rmdir();

}
开发者ID:1587,项目名称:ltp,代码行数:13,代码来源:shmctl02.c


示例3: cleanup

void cleanup(void)
{
	rm_shm(shm_id_1);
	rm_shm(shm_id_2);

	set_sys_tune("nr_hugepages", orig_hugepages, 0);

	tst_rmdir();
}
开发者ID:AbhiramiP,项目名称:ltp,代码行数:9,代码来源:hugeshmctl02.c


示例4: main

int main(void)
{
	int shmid, shmid1;
	char *cp, *cp1;

	srand48((getpid() << 16) + (unsigned)time(NULL));

	key[0] = (key_t) lrand48();
	key[1] = (key_t) lrand48();

	cp = NULL;
	cp1 = NULL;

/*--------------------------------------------------------*/

	if ((shmid = shmget(key[0], SIZE, IPC_CREAT | 0666)) < 0) {
		perror("shmget");
		tst_resm(TFAIL,
			 "Error: shmget: shmid = %d, errno = %d\n",
			 shmid, errno);
	} else {
		cp = shmat(shmid, NULL, 0);

		if (cp == (char *)-1) {
			tst_resm(TFAIL, "shmat");
			rm_shm(shmid);
		}
	}

	tst_resm(TPASS, "shmget & shmat");

/*--------------------------------------------------------*/

	if ((shmid1 = shmget(key[1], SIZE, IPC_CREAT | 0666)) < 0) {
		perror("shmget2");
		tst_resm(TFAIL,
			 "Error: shmget: shmid1 = %d, errno = %d\n",
			 shmid1, errno);
	} else {
		cp1 = shmat(shmid1, cp + (SIZE / 2), 0);
		if (cp1 != (char *)-1) {
			perror("shmat");
			tst_resm(TFAIL,
				 "Error: shmat: shmid1 = %d, addr= %p, errno = %d\n",
				 shmid1, cp1, errno);
		} else {
			tst_resm(TPASS, "2nd shmget & shmat");
		}
	}

/*------------------------------------------------------*/

	rm_shm(shmid);
	rm_shm(shmid1);

	tst_exit();
}
开发者ID:heluxie,项目名称:LTP,代码行数:57,代码来源:shmt05.c


示例5: main

int main()
{
	register int shmid;
	char *cp;
	key_t key;

	errno = 0;
	key = (key_t) getpid();

/*----------------------------------------------------------------*/

	if ((shmid = shmget(key, 16 * K_1, IPC_CREAT | 0666)) < 0) {
		perror("shmget");
		tst_resm(TFAIL, "shmget Failed: shmid = %d, errno = %d\n",
			 shmid, errno);
		tst_exit();
	}

	tst_resm(TPASS, "shmget");

/*----------------------------------------------------------------*/

	cp = (char *)shmat(shmid, (void *)NULL, 0);

	if (cp == (char *)-1) {
		perror("shmat");
		tst_resm(TFAIL, "shmat Failed: shmid = %d, errno = %d\n",
			 shmid, errno);
		rm_shm(shmid);
		tst_exit();
	}

	*cp = '1';
	*(cp + 1) = '2';

	tst_resm(TPASS, "shmat");

/*----------------------------------------------------------------*/

	rm_shm(shmid);

	if (*cp != '1' || *(cp + 1) != '2') {
		tst_resm(TFAIL,
			 "Error in shared memory contents: shmid = %d\n",
			 shmid);
	}

	tst_resm(TPASS, "Correct shared memory contents");

/*------------------------------------------------------------------*/

	tst_exit();

/*-------------------- THIS LINE IS NOT REACHED -------------------*/
	return (0);
}
开发者ID:ystk,项目名称:debian-ltp,代码行数:56,代码来源:shmt02.c


示例6: main

int main(void)
{
	char	*cp=NULL, *cp1=NULL;
	int	shmid;

	key = (key_t) getpid() ;
	errno = 0 ;
/*-------------------------------------------------------*/


	if ((shmid = shmget(key, 24*K_1, IPC_CREAT|0666)) < 0) {
		perror("shmget");
		tst_resm(TFAIL,"Error: shmget: shmid = %d, errno = %d\n",
		shmid, errno) ;
		tst_exit() ;
	}

	cp = (char *) shmat(shmid, (void *)0, 0);
	if (cp == (char *)-1) {
		tst_resm(TFAIL,"shmat1 Failed");
		rm_shm(shmid) ;
		tst_exit() ;
	}

	cp1 = (char *) shmat(shmid, (void *)0, 0);
	if (cp1 == (char *)-1) {
		perror("shmat2");
		rm_shm(shmid) ;
		tst_exit() ;
	}

	tst_resm(TPASS,"shmget,shmat");

/*--------------------------------------------------------*/


	if (shmdt(cp) < 0) {
		perror("shmdt2");
		tst_resm(TFAIL,"shmdt:cp") ;
	}

	if (shmdt(cp1) < 0 ) {
		perror("shmdt1");
		tst_resm(TFAIL,"shmdt:cp1") ;
	}

	tst_resm(TPASS,"shmdt");

/*---------------------------------------------------------*/
	rm_shm(shmid) ;
	tst_exit() ;

/*---------------------------------------------------------*/
	return(0);
}
开发者ID:AgamAgarwal,项目名称:minix,代码行数:55,代码来源:shmt08.c


示例7: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void cleanup(void)
{
	/* if they exist, remove the shared memory resources */
	rm_shm(shm_id_2);
	rm_shm(shm_id_3);

	tst_rmdir();

	/*
	 * print timing stats if that option was specified.
	 * print errno log if that option was specified.
	 */
	TEST_CLEANUP;

}
开发者ID:joyforu,项目名称:android-ltp-ndk,代码行数:19,代码来源:shmat02.c


示例8: main

int main(int ac, char **av)
{
	int pid;
	void do_child(void);

	tst_parse_opts(ac, av, NULL, NULL);

	setup();		/* global setup */

	if ((pid = FORK_OR_VFORK()) == -1) {
		tst_brkm(TBROK, cleanup, "could not fork");
	}

	if (pid == 0) {		/* child */
		/* set  the user ID of the child to the non root user */
		if (setuid(ltp_uid) == -1) {
			tst_resm(TBROK, "setuid() failed");
			exit(1);
		}

		do_child();
	} else {
		/* wait for the child to return */
		SAFE_WAITPID(cleanup, pid, NULL, 0);

		/* if it exists, remove the shared memory resource */
		rm_shm(shm_id_1);

		tst_rmdir();
	}

	cleanup();
	tst_exit();
}
开发者ID:kraj,项目名称:ltp,代码行数:34,代码来源:shmctl03.c


示例9: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void cleanup(void)
{
	/* if it exists, remove the shared memory resource */
	rm_shm(shm_id_1);

	tst_rmdir();

}
开发者ID:1587,项目名称:ltp,代码行数:12,代码来源:shmget04.c


示例10: cleanup

void cleanup(void)
{
	TEST_CLEANUP;

	rm_shm(shmid1);

	tst_rmdir();
}
开发者ID:Altiscale,项目名称:sig-core-t_ltp,代码行数:8,代码来源:kill05.c


示例11: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void cleanup(void)
{
	/* if they exist, remove the shared memory resources */
	rm_shm(shm_id_2);
	rm_shm(shm_id_3);

	/* Remove the temporary directory */
	tst_rmdir();

	/*
	 * print timing stats if that option was specified.
	 * print errno log if that option was specified.
	 */
	TEST_CLEANUP;

	/* exit with return code appropriate for results */
	tst_exit();
}
开发者ID:8l,项目名称:rose,代码行数:22,代码来源:syscall_tst.117.shmat.02.c


示例12: cleanup

static void cleanup(void)
{
	int i;

	for (i = 0; i < num_shms; i++)
		rm_shm(shm_id_arr[i]);

	FILE_PRINTF(PATH_SHMMNI, "%ld", orig_shmmni);
	restore_nr_hugepages();
}
开发者ID:sathnaga,项目名称:ltp,代码行数:10,代码来源:hugeshmget03.c


示例13: main

int main(int argc, char const *argv[])
{
	int i;
	int shm_id;
	pid_t pid;
	char *map_buf1;
	char *map_buf2;

	shm_id = get_shm();                      // 创建一个共享内存段,并返回一个id标识符
	pid = fork();

	if(pid < 0)
	{
		perror("Create New Process Error");
		exit(EXIT_FAILURE);
	}else
	if(pid == 0)
	{
		/*在子进程中*/
		map_buf1 = at_shm(shm_id);          // 将共享内存段连接到子进程中,并使map_buf1指向共享内存段
		i = 0;
		while(i < _SHM_SIZE_)
		{
			map_buf1[i] = '8';
			i++;
		}

		map_buf1[_SHM_SIZE_-1] = '\0';
		rm_shm(map_buf1);                  // 分离子进程与共享内存
	}else
	{
		/*在父进程中*/
		map_buf2 = at_shm(shm_id);         // 将共享内存连接到父进程中,并使map_buf2指向共享内存段
		sleep(5);
		printf("In Parent, read Share Memory: %s\n", map_buf2);
		rm_shm(map_buf2);                  // 分离父进程与共享内存

		waitpid(pid, NULL, 0);             // 等待子进程结束
		delete_shm(shm_id);                // 删除共享内存
	}

	return 0;
}
开发者ID:ilib0x00000000,项目名称:NULL,代码行数:43,代码来源:ipc_share_memory.c


示例14: buf_dtor

void buf_dtor(struct buf_s *buf)
{
	if (!buf)
		return;
	if (buf->mapW) {
		detach_shm(buf);
		rm_shm(buf);
	} else
		detach_mal(buf);
}
开发者ID:msoltyspl,项目名称:yancat,代码行数:10,代码来源:buffer-old0.c


示例15: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void cleanup(void)
{
	/* if it exists, remove the shared memory segment */
	rm_shm(shm_id_1);

	tst_rmdir();

	/*
	 * print timing stats if that option was specified.
	 * print errno log if that option was specified.
	 */
	TEST_CLEANUP;

}
开发者ID:Mellanox,项目名称:arc_ltp,代码行数:18,代码来源:shmctl01.c


示例16: cleanup

void cleanup(void)
{
	int i;
	char buf[BUFSIZ];

	TEST_CLEANUP;

	for (i = 0; i < num_shms; i++)
		rm_shm(shm_id_arr[i]);

	snprintf(buf, BUFSIZ, "%ld", orig_shmmni);
	write_file(PATH_SHMMNI, buf);
	set_sys_tune("nr_hugepages", orig_hugepages, 0);

	tst_rmdir();
}
开发者ID:Nan619,项目名称:ltp-ddt,代码行数:16,代码来源:hugeshmget03.c


示例17: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void cleanup(void)
{

	/* if it exists, remove the shared memory resource */
	rm_shm(shm_id_1);

	if (TC != NULL)
		free(TC);

	tst_rmdir();

	/*
	 * print timing stats if that option was specified.
	 * print errno log if that option was specified.
	 */
	TEST_CLEANUP;

}
开发者ID:joyforu,项目名称:android-ltp-ndk,代码行数:22,代码来源:shmat01.c


示例18: main

int main(int ac, char **av)
{
	char *msg;			/* message returned from parse_opts */
	int pid;
	void do_child(void);

	/* parse standard options */
	if ((msg = parse_opts(ac, av, NULL, NULL)) != NULL)
		tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);

        if (get_no_of_hugepages() <= 0 || hugepages_size() <= 0)
             tst_brkm(TCONF, cleanup, "Not enough available Hugepages");
        else
             huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;

	setup();			/* global setup */

	if ((pid = fork()) == -1) {
		tst_brkm(TBROK, cleanup, "could not fork");
	}

	if (pid == 0) {		/* child */
		/* set  the user ID of the child to the non root user */
		if (setuid(ltp_uid) == -1) {
			tst_resm(TBROK, "setuid() failed");
			exit(1);
		}

		do_child();
	} else {
		/* wait for the child to return */
		if (waitpid(pid, NULL, 0) == -1) {
			tst_brkm(TBROK, cleanup, "waitpid failed");
		}

		/* if it exists, remove the shared memory resource */
		rm_shm(shm_id_1);

		tst_rmdir();
	}

	cleanup ();
	tst_exit();
}
开发者ID:barajas,项目名称:Intel-GLTP,代码行数:44,代码来源:hugeshmctl03.c


示例19: cleanup

/*
 * cleanup() - performs all the ONE TIME cleanup for this test at completion
 * 	       or premature exit.
 */
void
cleanup(void)
{
	int i;

	/* remove the shared memory resources that were created */
	for (i=0; i<num_shms; i++) {
		rm_shm(shm_id_arr[i]);
	}

	tst_rmdir();

	/*
	 * print timing stats if that option was specified.
	 * print errno log if that option was specified.
	 */
	TEST_CLEANUP;

}
开发者ID:barajas,项目名称:Intel-GLTP,代码行数:23,代码来源:hugeshmget03.c


示例20: main

int main(int ac, char **av)
{
	char *msg;			/* message returned from parse_opts */
	int pid;
	void do_child(void);

	/* parse standard options */
	if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
		tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
	}

	setup();			/* global setup */

	if ((pid = FORK_OR_VFORK()) == -1) {
		tst_brkm(TBROK, cleanup, "could not fork");
	}

	if (pid == 0) {		/* child */
		/* set the user ID of the child to the non root user */
		if (setuid(ltp_uid) == -1) {
			tst_resm(TBROK, "setuid() failed");
			exit(1);
		}

		do_child();

	} else {		/* parent */
		/* wait for the child to return */
		if (waitpid(pid, NULL, 0) == -1) {
			tst_brkm(TBROK, cleanup, "waitpid failed");
		}

		/* if it exists, remove the shared memory resource */
		rm_shm(shm_id_1);

		/* Remove the temporary directory */
		tst_rmdir();
	}

	cleanup();
	return(0);
}
开发者ID:CSU-GH,项目名称:okl4_3.0,代码行数:42,代码来源:shmat03.c



注:本文中的rm_shm函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ rman_activate_resource函数代码示例发布时间:2022-05-30
下一篇:
C++ rm_rf函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap