Hi everyone,
the following patch:
https://github.com/php/php-src/pull/741
has been lying around somewhere on my box since years and I recently
stumbled upon it.
However 5.6 was already RC and Ferenc suggested to eventually wait for
5.6.1.
Do you think it's ok to add such a minor feature to 5.6.1?
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
Hi,
Since I don't know where you guys like to discuss implementations, I'm
pasting same thing I did in php-src PR:
I'd propose instead of accepting "nowait" only, I'd use a better support
and accept "until", dealing with possible cases:
- -1: Blocks and wait until lock is acquired
- 0: Exactly what your patch does, attempt to grab and if it fails, just
return false (I'd remove the E_WARNING) -
0: Acceptable time in milliseconds it would wait until consider the
acquire failed
Cheers,
Hi everyone,
the following patch:
https://github.com/php/php-src/pull/741
has been lying around somewhere on my box since years and I recently
stumbled upon it.However 5.6 was already RC and Ferenc suggested to eventually wait for
5.6.1.Do you think it's ok to add such a minor feature to 5.6.1?
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
--
--
Guilherme Blanco
MSN: guilhermeblanco@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada
Hi,
I'd propose instead of accepting "nowait" only, I'd use a better support
and accept "until", dealing with possible cases:
- -1: Blocks and wait until lock is acquired
- 0: Exactly what your patch does, attempt to grab and if it fails,
just return false (I'd remove the E_WARNING)
(It doesn't. The warning is raised when the semaphore can't be acquired
for other reasons)
0: Acceptable time in milliseconds it would wait until consider
the acquire failed
TBH, I don't know. semtimedop is not universally available (no BSD, as
far as I can tell) and I would prefer to avoid writing an alternative
implementation in case it's not available. On the other hand triggering
an error in such case wouldn't be nice.
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
Hi Matteo,
BSD does accept it as sem_timedwait, which I could find a reference for
FreeBSD:
http://www.freebsd.org/cgi/man.cgi?query=sema&sektion=9
Cheers,
Hi,
I'd propose instead of accepting "nowait" only, I'd use a better support
and accept "until", dealing with possible cases:
- -1: Blocks and wait until lock is acquired
- 0: Exactly what your patch does, attempt to grab and if it fails,
just return false (I'd remove the E_WARNING)(It doesn't. The warning is raised when the semaphore can't be acquired
for other reasons)
0: Acceptable time in milliseconds it would wait until consider
the acquire failedTBH, I don't know. semtimedop is not universally available (no BSD, as
far as I can tell) and I would prefer to avoid writing an alternative
implementation in case it's not available. On the other hand triggering
an error in such case wouldn't be nice.Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
--
Guilherme Blanco
MSN: guilhermeblanco@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada
Hi Matteo,
BSD does accept it as sem_timedwait, which I could find a reference for
FreeBSD:
that's part of the FreeBSD Kernel Developer's Manual, not SysV semaphores ;)
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
It's also supported by System V using exactly same API.
Some references:
http://fossies.org/dox/glibc-2.19/sem__timedwait_8c_source.html
http://manned.org/sem_timedwait/83baa20c
http://linux.die.net/man/3/sem_timedwait
http://pubs.opengroup.org/onlinepubs/009695399/functions/sem_timedwait.html
Hi Matteo,
BSD does accept it as sem_timedwait, which I could find a reference for
FreeBSD:that's part of the FreeBSD Kernel Developer's Manual, not SysV semaphores
;)Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
--
Guilherme Blanco
MSN: guilhermeblanco@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada
After discussing with Matteo, I realized I was referring to POSIX
sempahores and not to System V.
Patch looks ok to me.
Is it possible to have this merged?
Thanks,
On Tue, Sep 2, 2014 at 11:03 AM, guilhermeblanco@gmail.com <
guilhermeblanco@gmail.com> wrote:
It's also supported by System V using exactly same API.
Some references:http://fossies.org/dox/glibc-2.19/sem__timedwait_8c_source.html
http://manned.org/sem_timedwait/83baa20c
http://linux.die.net/man/3/sem_timedwait
http://pubs.opengroup.org/onlinepubs/009695399/functions/sem_timedwait.htmlHi Matteo,
BSD does accept it as sem_timedwait, which I could find a reference for
FreeBSD:that's part of the FreeBSD Kernel Developer's Manual, not SysV semaphores
;)Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
--
Guilherme Blanco
MSN: guilhermeblanco@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada
--
Guilherme Blanco
MSN: guilhermeblanco@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada
After discussing with Matteo, I realized I was referring to POSIX
sempahores and not to System V.Patch looks ok to me.
Is it possible to have this merged?
I've seen no objections raised, so I committed it to PHP-5.6 and master.
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/