From owner-p4-projects@FreeBSD.ORG Tue Aug 21 07:11:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 973CD16A419; Tue, 21 Aug 2007 07:11:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46BF116A417 for ; Tue, 21 Aug 2007 07:11:59 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 377D413C457 for ; Tue, 21 Aug 2007 07:11:59 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l7L7BxBj066137 for ; Tue, 21 Aug 2007 07:11:59 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l7L7BwdE066134 for perforce@freebsd.org; Tue, 21 Aug 2007 07:11:58 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 21 Aug 2007 07:11:58 GMT Message-Id: <200708210711.l7L7BwdE066134@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 125484 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Aug 2007 07:11:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=125484 Change 125484 by zhouzhouyi@zhouzhouyi_mactest on 2007/08/21 07:11:46 Test case for sysv shared memory Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#13 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/shmtest.c#2 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#17 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/sysvshm/00.t#1 add Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactest.c#13 (text+ko) ==== ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/shmtest.c#2 (text+ko) ==== @@ -192,7 +192,6 @@ if (sigaction(SIGCHLD, &sa, NULL) == -1) err(1, "sigaction SIGCHLD"); - if (sender_label) { mac_t label; @@ -210,12 +209,19 @@ } mac_free(label); } - if ((sender_shmid = shmget(shmkey, pgsize, SHM_W)) == -1) + + if ((sender_shmid = shmget(shmkey, pgsize, SHM_W)) == -1){ + close(logfd); err(1, "shmget"); + exit(1); + } - if (shmctl(sender_shmid, IPC_STAT, &s_ds) == -1) + if (shmctl(sender_shmid, IPC_STAT, &s_ds) == -1) { + close(logfd); err(1, "shmctl IPC_STAT"); + exit(1); + } print_shmid_ds(&s_ds, 0640); @@ -334,9 +340,7 @@ * If we're the sender, and it exists, remove the shared memory area. */ if (child_pid != 0 && sender_shmid != -1) { - if (shmdt(shm_buf)) - warn("shmdt"); - if (shmctl(sender_shmid, IPC_RMID, NULL) == -1) + if (shmctl(sender_shmid, IPC_RMID, NULL) == -1) warn("shmctl IPC_RMID"); close(logfd); machookmatch(macconf_file, getpid()); @@ -367,12 +371,13 @@ int shmid; void *shm_buf; - if ((shmid = shmget(shmkey, pgsize, 0)) == -1) + if ((shmid = shmget(shmkey, pgsize, SHM_R)) == -1) err(1, "receiver: shmget"); if ((shm_buf = shmat(shmid, NULL, SHM_RDONLY)) == (void *) -1) err(1, "receiver: shmat"); + *(char *)shm_buf = 1; /*can't write*/ if (strcmp((const char *)shm_buf, m_str) != 0) err(1, "receiver: data isn't correct"); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#17 (text+ko) ==== @@ -21,6 +21,7 @@ fifo_io="${maindir}/fifo_io" pipe_io="${maindir}/pipe_io" macping="${maindir}/macping" +shmtest="${maindir}/shmtest" . ${maindir}/tests/conf