I'm trying to grok PHP Source, and I suspect I've missed some
"Beginner" guide somewhere.
I'm looking at the TSRM*_* data types in the header files, and have
backtracked as far as 'tsrm_ls' and then... I'm not finding a place
where that is defined.
I've grepped php-src for it, and only see it used, not defined.
I also grepped /usr/include and /usr/local/include, thinking maybe
it's a standard OS thing.
I know TSRM is thread-safe-resource-manager, but the LS_DC LS_CC etc
system isn't getting into my brain... L for Long? S for string?
What am I missing?
TIA! (Hoping to do something useful someday...)
--
Like Music?
http://l-i-e.com/artists.htm
Hi Richard,
I think LS=LIST
CC=Comma(,) Call (, tsrm_ls)
DC = Comma(,) Declare(, void ***tsrm_ls)
With regards
Kamesh Jayachandran
Richard Lynch wrote:
I'm trying to grok PHP Source, and I suspect I've missed some
"Beginner" guide somewhere.I'm looking at the TSRM*_* data types in the header files, and have
backtracked as far as 'tsrm_ls' and then... I'm not finding a place
where that is defined.I've grepped php-src for it, and only see it used, not defined.
I also grepped /usr/include and /usr/local/include, thinking maybe
it's a standard OS thing.I know TSRM is thread-safe-resource-manager, but the LS_DC LS_CC etc
system isn't getting into my brain... L for Long? S for string?What am I missing?
TIA! (Hoping to do something useful someday...)
Hi,
TSRM is the thread-safe resource manager. you can find it at the TSRM CVS
module which should be at php-src/TSRM at your checkout.
TSRM is a mechanism to hold thread safeglobal variables in an threaded
environment. See articles about extension writing or the releavant books for
more.
A few pointers for material:
http://www.zend.com/php/internals/extension-writing1.php#Heading9
Schlossnagle, George: Advanced PHP Programming (ISBN: 0672325616)
Golemon, Sara: Extending and Embedding PHP (ISBN: 067232704X)
btw. LS means "local storage", not list.
johannes
Hi Richard,
I think LS=LIST
CC=Comma(,) Call (, tsrm_ls)
DC = Comma(,) Declare(, void ***tsrm_ls)With regards
Kamesh JayachandranRichard Lynch wrote:
I'm trying to grok PHP Source, and I suspect I've missed some
"Beginner" guide somewhere.I'm looking at the TSRM*_* data types in the header files, and have
backtracked as far as 'tsrm_ls' and then... I'm not finding a place
where that is defined.I've grepped php-src for it, and only see it used, not defined.
I also grepped /usr/include and /usr/local/include, thinking maybe
it's a standard OS thing.I know TSRM is thread-safe-resource-manager, but the LS_DC LS_CC etc
system isn't getting into my brain... L for Long? S for string?What am I missing?
TIA! (Hoping to do something useful someday...)
Hi,
The cscope project should help you : http://cscope.sourceforge.net/
----- Original Message -----
From: "Johannes Schlueter" johannes@php.net
To: internals@lists.php.net
Cc: "Kamesh Jayachandran" kameshj@fastmail.fm; ceo@l-i-e.com
Sent: Thursday, April 13, 2006 10:29 AM
Subject: Re: [PHP-DEV] tsrm_ls
Hi,
TSRM is the thread-safe resource manager. you can find it at the TSRM CVS
module which should be at php-src/TSRM at your checkout.TSRM is a mechanism to hold thread safeglobal variables in an threaded
environment. See articles about extension writing or the releavant books
for
more.A few pointers for material:
http://www.zend.com/php/internals/extension-writing1.php#Heading9
Schlossnagle, George: Advanced PHP Programming (ISBN: 0672325616)
Golemon, Sara: Extending and Embedding PHP (ISBN: 067232704X)btw. LS means "local storage", not list.
johannes
Hi Richard,
I think LS=LIST
CC=Comma(,) Call (, tsrm_ls)
DC = Comma(,) Declare(, void ***tsrm_ls)With regards
Kamesh JayachandranRichard Lynch wrote:
I'm trying to grok PHP Source, and I suspect I've missed some
"Beginner" guide somewhere.I'm looking at the TSRM*_* data types in the header files, and have
backtracked as far as 'tsrm_ls' and then... I'm not finding a place
where that is defined.I've grepped php-src for it, and only see it used, not defined.
I also grepped /usr/include and /usr/local/include, thinking maybe
it's a standard OS thing.I know TSRM is thread-safe-resource-manager, but the LS_DC LS_CC etc
system isn't getting into my brain... L for Long? S for string?What am I missing?
TIA! (Hoping to do something useful someday...)
http://www.zend.com/php/internals/extension-writing1.php#Heading9
I've decided, for now, to just work through this tutorial, and see if
that gets me up to speed...
Naturally, I've stumbled at square one.
After creating the files and doing phpize, ./configure yields:
.
.
.
checking whether -lc should be explicitly linked in... yes
creating libtool
usage: mkdir [-pv] [-m mode] directory ...
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
If I have stumbled my way through "configure" correctly, then I think
the problem is that it's trying to create a directory in /tmp
I can't do that, as /tmp is reserved by my host for root.
I DO have access to /var/tmp, which is a 'tmp' dir, if I can somehow
override $(TMPDIR=/tmp)...
Is there a clean way to do that, or should I just hack "configure"
directly and move on with life?
Would it be useful to have a PHP_TMPDIR for this?
Similar to PHP_AUTOCONF which I needed to use, as my host has:
/usr/local/bin/autoconf213
/usr/local/bin/autoconf253
/usr/local/bin/autoconf259
And similarly for autoheader, of course.
I guess different packages need/prefer each of those, so he finds it
handy to have them all. Works for me. [shrug]
Or am I the only goofball on the planet whose /tmp dir is out of bounds?
I could take a stab at making a patch for this, though odds are pretty
good I'd get it wrong...
--
Like Music?
http://l-i-e.com/artists.htm
Hello Richard,
have a look here: http://talks.somabo.de
best regards
marcus
Thursday, April 13, 2006, 9:54:27 AM, you wrote:
I'm trying to grok PHP Source, and I suspect I've missed some
"Beginner" guide somewhere.
I'm looking at the TSRM*_* data types in the header files, and have
backtracked as far as 'tsrm_ls' and then... I'm not finding a place
where that is defined.
I've grepped php-src for it, and only see it used, not defined.
I also grepped /usr/include and /usr/local/include, thinking maybe
it's a standard OS thing.
I know TSRM is thread-safe-resource-manager, but the LS_DC LS_CC etc
system isn't getting into my brain... L for Long? S for string?
What am I missing?
TIA! (Hoping to do something useful someday...)
--
Like Music?
http://l-i-e.com/artists.htm
Best regards,
Marcus