Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3BCD9A15.4010803@ece.gatech.edu> Date: Wed, 17 Oct 2001 10:47:49 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1 X-Accept-Language: en-us MIME-Version: 1.0 To: David CC: cygwin AT cygwin DOT com Subject: Re: cygipc should not include cygipc in sem.h References: <200110171402 DOT f9HE2sE17587 AT sdf DOT lonestar DOT org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit David, Thanks for the heads up. Note that "Sun doesn't do it that way" isn't a very persuasive argument; "Linux doesn't..." or "SUSv2 says that..." is more persuasive. Fortunately, you got me curious, and indeed, SUSv2 agrees with Sun on this issue. http://www.opengroup.org/onlinepubs/007908799/xsh/semctl.html Unfortunately, I don't have time to track this down and fix it myself right now. However, I'd be happy to accept a patch...as long as the bundled apps were all modified to define semun. This includes ipc-daemon, as well as semtool, shmtool, and msgtool. And the patch was verified to work properly... --Chuck David wrote: > Hello, > > I couldn't find a separate list for cygutils on > > http://www.neuro.gatech.edu/users/cwilson/cygutils/index.html > > and I want to point out that including the semum union in sem.h > makes the package incompatable with sun unix which expects the > union to be declared in the application program. See below. > > I get compiler errors if I include sem.h in a program which > defines the semun union, and I get compilier prototype errors > if I try to hand semctl anything other than a union with the > name semun. > > David > > > > semctl(2) System Calls semctl(2) > > NAME > semctl - semaphore control operations > > SYNOPSIS > #include > #include > #include > > int semctl(int semid, int semnum, int cmd, ...); > > DESCRIPTION > semctl() provides a variety of semaphore control operations > as specified by cmd. The fourth argument is optional, > depending upon the operation requested. If required it is > of type union semun, which must be explicitly declared by > the application program. > union semun { > int val; > struct semid_ds *buf; > ushort *array > } _a_r_g; > > SunOS 5.5.1 Last change: 24 Mar 1994 3 > > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Bug reporting: http://cygwin.com/bugs.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/