Public feed #722229

Zeug

public text v1 · immutable
Raw Edit
·published 2007-10-01 21:12 UTC
rendered paste body
<?php

  function get_shm($array=0)
  {
	$_shm['size'] = 512; // about 260 ~ bytes
	$_shm['key'] = 0x7068705f;
	$_shm['max'] = 10;

	if(!$id['sem'] = sem_get($_shm['key'],$_shm['max'])) return 0;
	if(!@sem_acquire($id['sem']))
	{ @sem_remove($id['sem']); return 0; }

	if(!$id['shm'] = shm_attach($_shm['key'],$_shm['size']))
	{ @sem_remove($id['sem']); return 0; }

	$return = @shm_get_var($id['shm'],$_shm['key']);
	if($array) {
		if(!shm_put_var($id['shm'],$_shm['key'],$array))
		{ @sem_remove($id['sem']); @shm_remove($id['shm']); return 0; }
	}

	@shm_detach($id['shm']);
	@sem_release($id['sem']);

	return $return;
  }

?>