note 80354 added to function.shm-attach

From: Date: Fri, 11 Jan 2008 13:18:08 +0000
Subject: note 80354 added to function.shm-attach
Groups: php.notes 
Request: Send a blank email to php-notes+get-135027@lists.php.net to get a copy of this message
Hi :) I write small class for build bright message between my application. <? class Bright_Message { var $bright; var $SHM_KEY; var $my_pid; function Bright_Message($SHM_KEY=null) { $this->my_pid = getmypid();//Get own pid if (is_null($SHM_KEY)) $this->SHM_KEY = '123123123'; $this->bright = shm_attach($this->SHM_KEY, 1024, 0666); $this->one_instance(); } function get_msg($id,$remove=true) { if(@$msg=shm_get_var($this->bright,$id)) { if ($remove) @shm_remove_var($this->bright,$id); return $msg; } else return false; } function snd_msg($id,$msg) { @shm_put_var($this->bright,$id,$msg); return true; } function one_instance() { $SHM_PID = $this->get_msg(1,false); if((strpos(exec('ps p'.$SHM_PID),$_SERVER['SCRIPT_FILENAME'])) === false) $this->snd_msg(1,$this->my_pid); else { echo "This program exists on pid: $SHM_PID\r\n\r\n"; exit; } } } ?> send.php: <? include "bridge_message.class.php"; $shm = new Bright_Message(); $shm->snd_msg(2,'this is my simple message'); ?> receive.php: <? include "bridge_message.class.php"; $shm = new Bright_Message(); $msg = get_msg(2); echo print_r($msg,1); ?> ---- Server IP: 82.177.164.100 Probable Submitter: 89.171.196.34 ---- Manual Page -- http://www.php.net/manual/en/function.shm-attach.php Edit -- https://master.php.net/note/edit/80354 Del: integrated -- https://master.php.net/note/delete/80354/integrated Del: useless -- https://master.php.net/note/delete/80354/useless Del: bad code -- https://master.php.net/note/delete/80354/bad+code Del: spam -- https://master.php.net/note/delete/80354/spam Del: non-english -- https://master.php.net/note/delete/80354/non-english Del: in docs -- https://master.php.net/note/delete/80354/in+docs Del: other reasons-- https://master.php.net/note/delete/80354 Reject -- https://master.php.net/note/reject/80354 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#135027) next »