Re: [PHP4BETA] Questions on sem_* and shm_* functions
[email protected] (Stanislav Malyshev) Sun, 18 Jun 2000 10:41:52 +0300 (IDT)
| Newsgroups | php.dev,php.version4 |
|---|---|
| Organization | Zend Technologies Ltd (http://www.zend.com/) |
| Message-ID | <[email protected]> |
SB>> - What is the perm argument of sem_get() and shm_attach() for? Is
SB>> this, too, needed to be emulated?
For shmget that's permissions. Manual says this:
mode_flags (lowest 9 bits)
specifying the permissions granted to the
owner, group, and world. Presently, the exe-
cute permissions are not used by the system.
SB>> - What does shm_attach() return if for some reason the creation or
SB>> opening of a shared memory segment fails? Although it is unlikely
SB>> that this may happen with nmy fake shared memory implementation, as
SB>> the variables are held in a SQL table instead of RAM.
From the code I see it returns false on failure.
SB>> - Is it true that shm_detach() only removes the shm_identifier for a
SB>> shared memory segment from some sort of list but doesn't remove the
SB>> stored variables of that segement?
Not exactly. If reference count for this segment for the script reaches 0,
it calls shmdt, detaching this segment.
SB>> - How do the functions shm_get_var() and shm_remove_var() behave if
SB>> the given shared memory segment and / or variable doesn't exist?
They return false and issue warning.
SB>> - How do the functions shm_detach() and shm_remove() behave if
SB>> the given shared memory segment doesn't exist?
shm_detach have no checks. _remove returns false on error.
SB>> - How do the functions sem_acquire() and sem_release() behave if the
SB>> given semaphore doesn't exist?
They return false and print warning if something bad happens.
--
Stanislav Malyshev [email protected]
+972-3-6139665