Commit Graph

294 Commits

Author SHA1 Message Date
Ilia Alshanetsky
5ead9d369e Fixed bug #17414 (pthreads bug work around)
Patch by timo.teras[at]iki.fi
2003-08-05 20:03:54 +00:00
Sebastian Bergmann
60ffd0ea5d Restore HEAD of TSRM to what it was two days ago. 2003-06-25 05:05:06 +00:00
James Cox
76f85107e2 bring head into sync with the php4 branch 2003-06-23 01:27:13 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Sascha Schumann
4d361edd91 cleanup macros 2003-06-04 00:01:21 +00:00
Derick Rethans
810ac117f0 - Fix non-ZTS build after Sterling's changes to TSRM 2003-04-28 10:40:28 +00:00
Sterling Hughes
a294f9b2d1 add TSRMLS_FETCH_CTX which allows you to map a variable to a ts context.
This is useful when you are mapping callbacks, you can simply associate
a struct member to a thread context:

void mycallback(my_struct *user) {
	TSRMLS_FETCH_CTX(user->thread_ctx);
}
2003-04-27 21:57:07 +00:00
Wez Furlong
cfd0466389 Fix for Bug #21310, based on a patch by jflemer@php.net. 2003-03-17 13:40:45 +00:00
foobar
8a316d5f69 VCWD_LSTAT is not available on win32/netware 2003-02-20 06:16:37 +00:00
Zeev Suraski
fb607799cc More Win32 build improvements 2003-02-17 13:27:15 +00:00
Derick Rethans
f35f5f56c4 - Whitespace fixes 2003-02-09 12:15:05 +00:00
Shane Caraveo
5048f8c60e is_executable() now available on win32
stats can now get information provided by access()
2003-02-09 03:49:43 +00:00
Zeev Suraski
e8de102cd6 Fix leaks 2003-01-07 12:11:40 +00:00
Zeev Suraski
efb9fdf0e6 call dtors on shutdown 2003-01-07 10:33:22 +00:00
Anantha Kesari H Y
455257974b NetWare related changes/modifications. 2003-01-02 14:29:00 +00:00
Sebastian Bergmann
2c5d4b8c23 Bump year. 2002-12-31 15:59:15 +00:00
Andi Gutmans
a58e6cc8ad - Add comment in macro and remove some now unneeded code 2002-12-20 08:42:50 +00:00
Ilia Alshanetsky
709681e085 Make IS_ABSOLUTE_PATH use the IS_UNC_PATH macro rather then duplicate the
code in the IS_UNC_PATH macro.
2002-12-20 00:41:41 +00:00
Anantha Kesari H Y
e46b0bfa79 Netware related changes/modifications. 2002-12-19 11:12:04 +00:00
Ilia Alshanetsky
9a24983487 On Win32 make PHP treat UNC paths as absolute paths, this should solve bugs
such as #20831. Thanks to Wez Furlong for isolating the problem.
2002-12-11 00:32:33 +00:00
Ilia Alshanetsky
f0e2c04582 Revert of previous patch ad requested by Andi. 2002-11-15 16:36:55 +00:00
Ilia Alshanetsky
8bfe7d76ea Fix bug 19689, solution suggested by dmitry@koteroff.ru. 2002-11-14 13:45:08 +00:00
Ilia Alshanetsky
b03d1d6032 Fix missing header warnings (alloca.h) on Sun Os & Tru64. 2002-11-11 16:32:36 +00:00
Ilia Alshanetsky
78e2e69b23 Instead of checking whether realpath exists based on OS. Use the
HAVE_REALPATH define, which is set if realpath() is avaliable. This patch
also resolves bug #18868.
2002-11-06 18:07:23 +00:00
Andi Gutmans
bdc5bb5739 - Fix TSRM_ERROR macro 2002-11-05 17:34:47 +00:00
Ilia Alshanetsky
cfe0c82034 Added 4th argument to virtual_file_ex() that specifies whether or not
realpath() should be used during path resolving. In a number of functions
we do not want to use realpath(), since realpath() will resolve symlinks.
2002-11-05 14:50:17 +00:00
Ilia Alshanetsky
ecb5c7e08e Revert virtual_link() patch. 2002-11-04 23:24:15 +00:00
Andi Gutmans
7dd124803c - Clean up mess made by netware guys. There's no reason not to abstract
- the macro a tiny bit more allowing the code to look cleaner. The more
- #ifdef's code has the more unreadable it becomes.
2002-11-04 20:45:28 +00:00
Ilia Alshanetsky
9087728798 Fix bug #20235. 2002-11-04 05:19:05 +00:00
Shane Caraveo
1f0523c85a windows is smart enough to provide a way to set cwd for new processes. 2002-10-29 07:32:52 +00:00
Ilia Alshanetsky
e94b9ea9ee Fixed a bug noticed by Jon Parise. 2002-10-22 18:57:59 +00:00
Ilia Alshanetsky
1de9cddb3f Fixed compile warnings. 2002-10-22 18:39:33 +00:00
Ilia Alshanetsky
d8480c8088 Fixed symlink/link functions on ZTS builds.
Made URL detection in symlink code use php_stream_locate_url_wrapper().
2002-10-21 23:35:29 +00:00
Derick Rethans
cdc3b6d652 - Whitspace 2002-10-05 11:34:02 +00:00
David Reid
2a0fbded3d Add BeOS thread support to TSRM. This should not impact on any other OS's
but allows us to build PHP with threading support and therefore we can
build as an Apache 2 module.

The locking is currently done using benaphores but this may be reviewed.
2002-10-05 11:26:17 +00:00
Sascha Schumann
db3f7448a1 Add VCWD_ACCESS 2002-10-04 01:04:00 +00:00
Zeev Suraski
e32757ef4c This is way too verbose... Please enable it in your local .dsp settings if
you like it :)
2002-09-04 14:14:59 +00:00
Harald Radi
99c90db11a make win32 debug output more verbose 2002-08-07 14:47:42 +00:00
Venkat Raghavan S
c61598f32b Changes to build TSRM on NetWare 2002-05-29 08:41:21 +00:00
Venkat Raghavan S
ab699a7c2b Change to build on NetWare: TSRM_CONFIG.H not required 2002-05-29 05:16:58 +00:00
Venkat Raghavan S
d69261d12c Basic NetWare changes 2002-05-28 08:54:17 +00:00
Rui Hirokawa
860e675884 fixed directory access problem when direcory name is encoded in japanese Shift_JIS encoding. 2002-04-25 14:43:40 +00:00
Rui Hirokawa
222a2f4fef fixed problem when multibyte character is included in file path on Windows. If _MBCS is defined, _tcstok is defined as _mbstrtok which is multibyte enabled strtok. If _MBCS is not defined, _tcstok is defined as strtok. 2002-04-21 22:20:14 +00:00
Sascha Schumann
cb8181dd4e Fix check.. tsrm_config.h exists on all platforms but Win32. 2002-03-07 15:07:49 +00:00
Sebastian Bergmann
d863d52a5d Update headers. 2001-12-11 15:16:21 +00:00
foobar
9b81440b76 This was needed afterall. Without this Apache segfaulted when accessing PHP scripts. 2001-12-09 23:43:20 +00:00
Zeev Suraski
216e81db96 Undo (per Jani's request) 2001-12-09 01:00:57 +00:00
Sterling Hughes
751d155b96 Jani's AIX fixes 2001-12-07 17:37:00 +00:00
Zeev Suraski
23c0362aec Fix bug 13143 2001-11-17 21:15:38 +00:00
Andi Gutmans
de64d45439 - RISC OS patches by Alex Waugh 2001-11-03 13:33:21 +00:00
Sascha Schumann
0215031834 Kill unnecessary quoting, and set host_alias to host, if only the latter
is defined.
2001-09-19 09:01:05 +00:00
Sascha Schumann
66187ec2dc nuke whitespace 2001-08-21 11:00:22 +00:00
Zeev Suraski
815d043b1e Using TSRM no longer implies ZTS 2001-08-08 10:26:21 +00:00
Daniel Beulshausen
a118a1e7b0 fix buffer size 2001-08-07 13:29:51 +00:00
Daniel Beulshausen
95d30927ab implement shm* similar functions 2001-08-07 13:06:23 +00:00
Zeev Suraski
1f3faae352 Nukre most TSRMLS_FETCH()'s in TSRM 2001-08-05 01:34:40 +00:00
Thies C. Arntzen
84169a4bc2 this kills 90% of the warings in maintainer-mode 2001-08-02 16:03:17 +00:00
Andi Gutmans
3baef4690a - Also cache TSRM lookups in thread local storage on Windows. 2001-07-30 05:46:31 +00:00
Zeev Suraski
0701d68f97 Save TSRMLS_FETCH()'s 2001-07-30 01:46:35 +00:00
Zeev Suraski
59ffe8db79 Make Sebastian happy... 2001-07-28 12:16:43 +00:00
Zeev Suraski
faa12fa06f another build fix, a simple UNIX build now compiles clean 2001-07-28 12:07:25 +00:00
Zeev Suraski
633a1c30d1 Redesigned thread safety mechanism - nua nua 2001-07-28 10:46:11 +00:00
Sascha Schumann
6be787a929 Fix build 2001-07-28 00:46:42 +00:00
Zeev Suraski
cba5dd7546 Fix release runtime :) 2001-07-27 11:03:32 +00:00
Zeev Suraski
0c9d455a81 Fix release build 2001-07-27 10:53:25 +00:00
Zeev Suraski
736b4ae43d - Prepare for optimization - use a single fetch for multiple resources
- Clean a bit
2001-07-27 10:08:26 +00:00
Sascha Schumann
c1938e3f13 Portable use of multiple arguments macro without generating lots of
warnings when doing nothing.
2001-07-23 04:16:31 +00:00
Zeev Suraski
1c27165161 Add a useful #define 2001-07-16 13:31:22 +00:00
Daniel Beulshausen
223c0a2f7d fix handle dup. 2001-07-11 15:10:56 +00:00
Daniel Beulshausen
112b9062ff adopt shane's popen patch 2001-07-09 16:44:40 +00:00
Andi Gutmans
6f3f47eaa9 - Fix off by one error in allocating command line (by Shane) 2001-07-07 20:00:35 +00:00
Daniel Beulshausen
8934c1eb6a fix some popen trouble 2001-07-01 20:08:21 +00:00
Zeev Suraski
44e75b6cdd Fix UNC path handling 2001-06-27 14:30:02 +00:00
Sascha Schumann
6ae7e5f54a Support for SGI's State Threads. Will be used by PHP's thttpd SAPI
initially.
2001-06-21 16:54:05 +00:00
Zeev Suraski
855cad5c54 Update .dsp 2001-05-09 14:55:17 +00:00
Zeev Suraski
a8f87e6c23 Layout fix 2001-05-05 16:05:19 +00:00
Zeev Suraski
70b6c55ce6 Fix missing statement 2001-05-05 16:04:14 +00:00
Zeev Suraski
cbb777f167 Fix chdir() under Windows 9x/ME 2001-05-03 15:50:37 +00:00
Andi Gutmans
4c823e8a89 - Change macros from V_ to VCWD_ because of AIX name clash 2001-04-30 12:45:02 +00:00
Andi Gutmans
dfa9179887 - Commit test passed 2001-04-27 19:11:35 +00:00
Andi Gutmans
3f72a97dbb - Testing commit script 2001-04-27 19:10:58 +00:00
Andi Gutmans
a2dbc5babd - Fix some ws to be like the rest of TSRM 2001-04-27 18:50:35 +00:00
Daniel Beulshausen
1b279d3477 get rid of MS's _popen/_pclose 2001-04-27 16:41:53 +00:00
Andi Gutmans
42fbe5be4b - Whitespace 2001-04-05 14:02:08 +00:00
Andi Gutmans
a943751310 - Lock the whole thing for now in order not to have a race condition.
It shouldn't effect performance too much because usually threads are
  reused a few times before they are nuked by the web server, at least
  under IIS and Zeus.
2001-04-05 14:00:54 +00:00
Andi Gutmans
6123fe515d - Revert previous fix because dtor's which access thread local storage
might stop working. Need to fix this! We can either mutex the whole thing
  which is slow (this is how it was before the race condition was introduced)
  or find a different solution.
2001-04-04 21:43:04 +00:00
Andi Gutmans
78861607d7 - Fix race condition in ts_free_thread(). 2001-04-04 17:05:10 +00:00
Andi Gutmans
9047e5c956 - Use tabs and not spaces !!! 2001-04-04 16:33:06 +00:00
Andi Gutmans
ac8ab87841 - This can explain lots of instability on multi-threaded platforms! 2001-04-04 16:25:29 +00:00
Daniel Beulshausen
8889397ba8 support unc style paths 2001-03-23 08:33:06 +00:00
Ben Mansell
5d6cb2fc32 Speedup for pthread implementation. We make use of thread local storage
to allow access to the current thread's resources without having to
obtain the memory mutex and traverse our hash table. This is a big
performance win!
2001-03-06 15:07:57 +00:00
Zeev Suraski
b22a6ef2b1 Fix a TSRM bug (possibly fixing a sporadic crash in the timeout window
under Windows) - fix from Ben Mansell
2001-03-01 01:06:36 +00:00
Andi Gutmans
8769a693c9 - BeOS apparently doesn't have realpath(). Improve the previously
commited patch.
2001-01-21 17:35:31 +00:00
Rasmus Lerdorf
83cf6629ec @BeOS patch from svanegmond@bang.dhs.org modified somewhat by Rasmus
BeOS patch from svanegmond@bang.dhs.org modified somewhat by Rasmus
2001-01-21 17:29:15 +00:00
Shane Caraveo
d0dbf1ea57 my mistake...freed in a different function. 2001-01-08 00:35:05 +00:00
Shane Caraveo
65eac44f69 be sure to unlock that mutex before returning! 2001-01-08 00:32:18 +00:00
Zeev Suraski
412939dd0c Add Release_TSDbg to TSRM as well 2001-01-07 18:28:03 +00:00
Sascha Schumann
af97475e93 Use the hardly-documented third parameter of AM_INIT_AUTOMAKE to suppress
defining PACKAGE/VERSION.
2000-12-02 13:27:07 +00:00
Andi Gutmans
afccae85d9 - Thanks to "Daniel Beulshausen" <daniel@php4win.de> 2000-11-22 04:59:32 +00:00
Zeev Suraski
1ebdb6fa14 Beef up debugging support 2000-11-18 02:41:14 +00:00
Zeev Suraski
d5a09981d6 Import debug-level improvements to TSRM, by Dmitri Dmitrienko 2000-11-17 23:31:15 +00:00
Sascha Schumann
c5e776ec2d sizeof(size_t) != sizeof(int) on 64-bit platforms.
This also makes the API more consistent.
2000-11-06 23:35:33 +00:00
Zeev Suraski
8aecb3c984 mode_t should be an unsigned_int 2000-10-31 18:05:28 +00:00
Andi Gutmans
fd7284a665 - Add V_RENAME() by "Daniel Beulshausen" <daniel@php4win.de>.
- It is untested and all places which use rename() in PHP should now use
- V_RENAME().
2000-10-26 05:21:52 +00:00
Andi Gutmans
94bea2902b - Move #define to .h file 2000-10-03 16:36:32 +00:00
Andi Gutmans
3dab84005d - Fix V_CHDIR_FILE() 2000-10-03 15:08:37 +00:00
Andi Gutmans
a45553cd57 - Add TODO 2000-09-16 19:07:50 +00:00
Andi Gutmans
228648397e - Add config_common.h to dsp 2000-09-11 18:59:32 +00:00
Andi Gutmans
db1422f10e - Testing 1 2 3 2000-09-11 15:15:29 +00:00
Andi Gutmans
770098eca8 - Testing 1 2 3 2000-09-11 15:14:56 +00:00
Andi Gutmans
fe434a05b4 - Fix crash bug on NetBSD and OpenBSD. MAXPATHLEN didn't get defined
correctly and caused a stack overrun. This was *hard* to debug.
2000-09-07 15:31:29 +00:00
Andi Gutmans
f390d7e2ab - Get rid of build warning on Windows 2000-09-07 14:11:38 +00:00
Andi Gutmans
b8a95da22a - Centralize some configuration stuff
- Use inline in my strtok_r implementation
2000-09-06 20:27:12 +00:00
Andi Gutmans
07cfd5754e - Added macros 2000-09-04 04:18:38 +00:00
Andi Gutmans
1109b9ab57 - More TSRM work 2000-09-03 18:58:46 +00:00
Andi Gutmans
da19ff78f3 - Add new files to TSRM windows project 2000-09-03 18:49:35 +00:00
Andi Gutmans
03432bf61f - Make TSRM work on Windows. 2000-09-03 18:47:35 +00:00
Andi Gutmans
daf926cf5b - Move virtual cwd to TSRM.
In the least this still doesn't work on Windows.
2000-09-03 18:18:13 +00:00
Andi Gutmans
77b55ad07d - Revert change of defining TSRM_WIN32 in dsp 2000-09-02 16:28:50 +00:00
Andi Gutmans
5f3d935920 - Change TSRM_OTHER macro to TSRM_THREADS as it should be only to check
for threads
2000-09-02 15:24:18 +00:00
Andi Gutmans
a8656beb34 - Make TSRM compile stand-alone again 2000-09-02 15:11:45 +00:00
Andi Gutmans
d6d8b51b2c - Define TSRM_WIN32 in Windows dsp 2000-09-02 15:04:57 +00:00
Andi Gutmans
92cfa27ff0 - Use TSRM_WIN32 2000-09-02 15:03:19 +00:00
Sam Ruby
f2b0015c9b Allow TSRM to be built on Windows platforms 2000-09-02 14:39:48 +00:00
Andi Gutmans
3d95c23c96 - Support for always building TSRM into PHP 2000-08-31 23:44:10 +00:00
Andi Gutmans
a2ea62d4c9 - Change license of .c and .h files of TSRM. It's still not the complete
- text like in the PHP headers because we don't have it on the web yet but
- it should be enough to allow Sascha to touch TSRM :)
2000-08-31 19:02:14 +00:00
Sascha Schumann
c1894bbf96 Add dummy depend: target 2000-08-25 09:04:51 +00:00
Andi Gutmans
b0fd857c69 - Oops I was only thinking about VIRTUAL_DIR and forogt about the rest of
- TSRM which Zeev implemented  on his own.
2000-07-11 19:17:19 +00:00
Andi Gutmans
744a823fd2 - Commit new license for TSRM. 2000-07-11 19:15:51 +00:00
Sascha Schumann
8adf849dce Identifiers that begin with underscore are reserved for the implementation. 2000-07-02 23:16:54 +00:00
Andi Gutmans
a4edfc06c5 - Export ts_resource_ex in order to succesfully build Windows version 2000-06-17 14:56:19 +00:00
Zeev Suraski
33f9499975 Make it possible to access other threads' local storage. Only use it if you have a clear
knowledge of what you're doing!
2000-06-16 14:38:05 +00:00
Sascha Schumann
0eeee6b7c8 Add -qthreaded for AIX cc V5 2000-06-10 08:26:59 +00:00
Sascha Schumann
f6c8918a0d Add FreeBSD's new -kthread option.
Add a list of compiler/platforms where the flags are known to work.
2000-06-10 08:09:05 +00:00
Zeev Suraski
c5b2c8ba93 Update .dsp's 2000-06-08 12:28:48 +00:00
Sascha Schumann
d3a7f5be38 Make TSRM compile again. ZTS is defined by a header file included in
tsrm_config.h, so TSRM.o was always empty.
2000-06-06 00:16:16 +00:00
Andi Gutmans
09d281ff62 - Only compile if building a thread safe version 2000-06-04 04:14:17 +00:00
Sascha Schumann
a33c135b0a Add enable-threads flag for gcc on HPUX 2000-05-24 11:13:11 +00:00
Sascha Schumann
86d6389db4 Assign/restore vars appropiately 2000-05-05 12:15:36 +00:00
Sascha Schumann
6c4d6ba5e3 Don't automatically assign pthreads_cflags/pthreads_libs to env
variables. That allows us to check for the availability of POSIX threads
before actually using it.
2000-05-04 10:49:36 +00:00
Sascha Schumann
b87df8f210 Add UnixWare/OpenServer flags 2000-04-30 04:50:03 +00:00
Thies C. Arntzen
38c2b8ec63 hpux needs _REENTRANT 2000-04-15 17:06:21 +00:00
Sascha Schumann
2b1daf73eb * Include <stddef.h> for NULL
* Check for pthread_mutexattr_init() for improved SGI support
2000-03-30 23:35:26 +00:00
Sascha Schumann
7658768705 Use CPPFLAGS for reentrancy/thread flags 2000-03-15 21:40:03 +00:00
Sascha Schumann
a2121549aa Move the sincludes outside of AC_DEFUN(), so PHP can use the macros 2000-03-07 16:49:17 +00:00
Sascha Schumann
05024cb094 Use improved POSIX threads check from threads.m4
This is shared between some projects (currently Apache 2.0, mhash, mcrypt)
2000-03-07 13:24:12 +00:00
Zeev Suraski
4765396846 .dsp updates 1999-12-31 16:20:04 +00:00
Sascha Schumann
701a00d391 THREAD_T refers to thread ids, not attributes 1999-12-30 15:52:08 +00:00
Sascha Schumann
9aef66711e Rewrite TSRM_CHECK_GCC_ARG to cache its result 1999-12-30 02:19:39 +00:00
Sascha Schumann
85a5a2873e Let check succeed on systems which don't need special flags for pthreads.
Also change the message to be more informative.
1999-12-30 00:48:45 +00:00