|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-11-24 08:57 UTC] duncan at emarketeers dot com
Apologies for posting this here, but I don't know where else to go. shm_put_var has a problem in that when you try to write a variable which already exists, the function will fail if there is not enough free space for the variable and its old value. I have a patch which will simply overwrite the old value if the lengths are the same, and will do more intelligent space checking if they are not. I will submit this when I get back to the office. I also have developed a set of additional shm functions which implement an LRU cache. These functions are handy for eg caching serialized objects which would otherwise have to be fetched from a database. And of course they are shared across the system. My question is: how do I submit these new functions for inclusion in the source? PatchesmulOMpUR (last revision 2020-08-28 15:34 UTC by sample at email dot tst)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 05:00:01 2025 UTC |
The mail from Duncan : It makes updates twice as fast. My LRU code is knocking around somewhere, but I'll have to do some rummaging if you want it. 367c367,376 < php_remove_shm_data(ptr, shm_varpos); --- > shm_var = (sysvshm_chunk*)((char*)ptr + shm_varpos); > /* Check the new length against the old length */ > if(shm_var->length != len ) { > /* If not equal, remove the old entry and prepare to create a new one */ > php_remove_shm_data(ptr, shm_varpos); > } else { > /* If equal, just copy the new data across and return */ > memcpy(&(shm_var->mem),data,len); > return 0; > }