mal abgesehen davon, für was man bei php scripten semaphoren braucht, wenn das script eh in ein paar millisekunden weg ist.
um das script quasi mehrfach gleichzeitig auszuführen, mußt du ja eine ganz schön frequentierte seite haben.
class userlogic
{
var $skey;
was ist der default oder ungültige wert ?
var $mkey;
function create_memory()
{
if (! ($mkey = shm_attach(0xff3,65536,OctDec("666"))))
warum nicht gleich: $this->mkey = shm_atta..
{ echo "shmem_attach fehlgeschlagen<br>\n";}
welchen wert hat $this->mkey hier ??
else
$this->mkey = $mkey;
}function get_semaphore()
{
if(! ($skey = sem_get(0xff3,1024,0666 | IPC_CREAT)))
{ echo "sem_get fehlgeschlagen<br>\n";}
else
$this->skey = $skey;
if(! sem_acquire($this->skey))
{ echo "sem_acquire fehlgeschlagen<br>\n";}
}function put_var($var)
{
shm_put_var($this->mkey,1,$var);
}function get_var()
{
$var = @shm_get_var($this->mkey,1);
return $var;
}function release_semaphore()
{
sem_release($this->skey);
}function release_memory()
{
shm_remove ($mkey);
}
}zugriff erfolgt so:
$user_class = new userlogic;
wo bleibt die fehlerbehandlung ?
$user_class->create_memory();
wo bleibt die fehlerbehandlung ?
$user_class->put_var("dummy");
wo bleibt die fehlerbehandlung ?
$user_class->release_semaphore();
hat jemand einen tip für mich?
vielen dank im voraus!!
du gehst immer davon aus, daß die vorhergehende operation erfolgreich war. was passiert aber, wenn diese einen fehler hatte?