note 76826 added to function.msg-get-queue
| From: | martin dot velek at gmail dot com | Date: | Wed, 01 Aug 2007 11:23:06 +0000 |
| Subject: | note 76826 added to function.msg-get-queue | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-129097@lists.php.net to get a copy of this message | ||
Lack of IPC_EXCL makes me unhappy. Of course, you can use ftok() to generate a unique key. This code
is not allmighty, another process under the same user can open the queue and function returns true.
But in some situation it could help.
code:
<?
function ipcEXCL($res,$perm)
{
$pole = msg_stat_queue($res);
if($pole['msg_perm.uid']==posix_getuid() &&
$pole['msg_perm.gid']==posix_getgid() &&
$pole['msg_perm.mode']==$perm &&
$pole['msg_stime']==0 &&
$pole['msg_rtime']==0 &&
$pole['msg_qnum']==0 &&
$pole['msg_lspid']==0 &&
$pole['msg_rspid']==0)
return true;
else
return false;
}
$res=msg_get_queue($key,$perm);
if(ipcEXCL($res,$perm))
echo "probably I am a creator:";
else
echo "probably not";
?>
----
Server IP: 212.24.129.51
Probable Submitter: 213.29.97.13
----
Manual Page -- http://www.php.net/manual/en/function.msg-get-queue.php
Edit -- https://master.php.net/note/edit/76826
Del: integrated -- https://master.php.net/note/delete/76826/integrated
Del: useless -- https://master.php.net/note/delete/76826/useless
Del: bad code -- https://master.php.net/note/delete/76826/bad+code
Del: spam -- https://master.php.net/note/delete/76826/spam
Del: non-english -- https://master.php.net/note/delete/76826/non-english
Del: in docs -- https://master.php.net/note/delete/76826/in+docs
Del: other reasons-- https://master.php.net/note/delete/76826
Reject -- https://master.php.net/note/reject/76826
Search -- https://master.php.net/manage/user-notes.php