Date: 04/07/00
- Next message: Kees van Veen: "[PHP-DEV] patch: odbc_execute with output parameters"
- Previous message: Nick Newbold: "RE: [PHP-DEV] flush vs. sleep"
- In reply to: Sascha Schumann: "[PHP-DEV] Re: [PHP-BETA] PHP 3.0.16 tarball"
- Next in thread: Mike Robinson: "RE: [PHP-DEV] PHP 3.0.16 tarball"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Sascha Schumann wrote:
> On Mon, Apr 03, 2000 at 06:49:08PM +0400, Kirill Maximov wrote:
> >
> >
> > Sascha Schumann wrote:
> >
> > > Hi all,
> > >
> > > I've uploaded the first release candidate for PHP 3.0.16. We
> > > would appreciate it, if you could verify that it works in your
> > > environment. Please send us positive and negative feedback.
> > >
> > > http://va.php.net/~sas/php-3.0.16.tar.gz
> > >
> >
> > Please take a look to bug #3621. It contains a fix that works.
>
> I've also sent an email to the author of that code. Perhaps we
> need a Solaris 2.6 check at that place.
If seems to me that I made one further step solving the problem
with sysvsem.c . Indeed, the fix contained in 3.0.16 release
works fine with Solaris 7 x86, but results Bus error on
Sun Solaris 7. I suggest the same happens on other solaris
versions, including 2.6. From the man page for semctl on Solaris,
we see the following:
-------------------------------------------------------------
The semctl() function provides a variety of semaphore con-
trol 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 expli-
citly declared by the application program.
union semun {
int val;
struct semid_ds *buf;
ushort_t *array;
} arg ;
-------------------------------------------------------------
There is already definition of this structure in semvsem.c:
#if !HAVE_SEMUN && defined(__GNU_LIBRARY__) && __GNU_LIBRARY__ == 6
union semun {
int val; /* value for SETVAL */
struct semid_ds *buf; /* buffer for IPC_STAT, IPC_SET */
unsigned short int *array; /* array for GETALL, SETALL */
struct seminfo *__buf; /* buffer for IPC_INFO */
};
#undef HAVE_SEMUN
#define HAVE_SEMUN 1
#endif
So, I changed the line
#if !HAVE_SEMUN && defined(__GNU_LIBRARY__) && __GNU_LIBRARY__ == 6
with
#if !HAVE_SEMUN
and recompiled php with union semun defined - it compiled smoothly,
and worked on Solaris 7 [Sun|x86].
The same problem exists in PHP4 tree.
With best regards,
KIR
-- ----- ----- ----- ----- ----- ----- ----- ----- Kirill Maximov maximov <email protected> Astrive, Inc. http://www.astrive.com-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: Kees van Veen: "[PHP-DEV] patch: odbc_execute with output parameters"
- Previous message: Nick Newbold: "RE: [PHP-DEV] flush vs. sleep"
- In reply to: Sascha Schumann: "[PHP-DEV] Re: [PHP-BETA] PHP 3.0.16 tarball"
- Next in thread: Mike Robinson: "RE: [PHP-DEV] PHP 3.0.16 tarball"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

