Re: Re: ext/sysvmsg
| From: | Melvyn Sopacua | Date: | Tue, 08 Oct 2002 16:33:05 +0000 |
| Subject: | Re: Re: ext/sysvmsg | ||
| References: | 1 | Groups: | php.dev php.qa |
| Request: | Send a blank email to php-dev+get-89233@lists.php.net to get a copy of this message | ||
Hi Sasha,
At 18:18 10/8/2002 +0200, Sascha Schumann wrote:
On Tue, 8 Oct 2002, Melvyn Sopacua wrote: Wez, there's something going wrong with the autoconf logic config.m4 section I sent a while back. I'll look into it.The comment in the header explains that it's an unclear part of the SVID spec. I've researched this a while back, and found the structures to be the same, just named differently. Howerver - looking more closely, I think you're right! The struct msgbuf as defined, for example here: http://ou800doc.caldera.com/cgi-bin/man/man?msgop+2 defines mtext member as mtext[] while FreeBSD defines it as mtext[1]. Shall I revert the patch? Met vriendelijke groeten / With kind regards, Webmaster IDG.nl Melvyn Sopacua <@Logan> I spent a minute looking at my own code by accident. <@Logan> I was thinking "What the hell is this guy doing?"As with SysV shared memory, the extension should define its own structure, if struct msgbuf is not found on the system.FreeBSD is a good example for an environment which does not define this structure. glibc only defines it, if all GNU features have been enabled (-D_GNU_SOURCE).In that regard, php_sysvmsg.h needs to stop defining __USE_GNU. An application must not interfere with the C implementation which the sysvmsg extension is doing here clearly.Because __USE_GNU is only a subset of the behavioural changes which are enabled by _GNU_SOURCE, one can expect that it might trigger bugs in the C library or lead to other undesirable results.