From owner-freebsd-hackers Wed Feb 10 23:01:53 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA03282 for freebsd-hackers-outgoing; Wed, 10 Feb 1999 23:01:53 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA03276 for ; Wed, 10 Feb 1999 23:01:52 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.2/8.9.1) id XAA88892; Wed, 10 Feb 1999 23:01:48 -0800 (PST) (envelope-from dillon) Date: Wed, 10 Feb 1999 23:01:48 -0800 (PST) From: Matthew Dillon Message-Id: <199902110701.XAA88892@apollo.backplane.com> To: Peter Jeremy Cc: tlambert@primenet.com, hackers@FreeBSD.ORG Subject: Re: portability of shm, mmap, pipes and socket IPC References: <99Feb11.162122est.40373@border.alcanet.com.au> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :As far as I can tell, this is handled correctly. : :through lines 725-746, unwinding any partially commited operations. :Then there's a tsleep() on semaptr (which is the semaphore :descriptor). If the tsleep returns normally, the whole thing is :repeated courtesy of the for loop covering lines 671-786. :... Looks like the intention of the code is correct to me too, though not being a semaphore expert there could still be a bug. :EIDRM was added (I believe by sos) sometime after 2.2.6. It's only :used by sysv_msg.c and sysv_sem.c - and from what I can see, the code :is all protected by #ifdef EIDRM's, so the code should work correctly, :whether or not EIDRM is defined. Someone with commit priv's just :needs to remove the comment saying it doesn't exist. : :Peter I added an #error inside the #ifdef EIDRM and the compile bombed, so EIDRM is definitely defined from the point of view of the module. -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message