Re: [PHP-DEV] Re: output buffering

2002-10-07 Thread David Reid

Agreed, it's only common courtesy.

david

  Zeev Suraski wrote:
   The least you should do is
   ask either Sascha or me how come it uses chunked buffering, and
whether
   it's not a bug.  You would have gotten a pretty clear response saying
   that it fully supports chunked buffering.
 
  No. I don't think I need to ask.

 Sometimes you do.  If you are touching other peoples' code, and especially
 if that code is rather critical you need to make really damn sure you know
 what you are doing before you change it.  A quick summary of what you
 have in mind sent to php-dev and/or the author(s) of the code in question
 is all it takes.  It doesn't take very long and it is common courtesy if
 nothing else.

 -Rasmus



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] Segafults...

2002-10-07 Thread David Reid

FWIW, I'm still seeing the segfaults on beos for session code. I'm away
until Thursday evening now, but if someone can give some ideas then I'll try
to trace it further when I get back... The segafults occur in
_object_and_properties_init.

_object_and_properties_init
_object_init_ex
php_var_unserialize
ps_srlzr_decode_php
php_session_decode
php_session_initialize

ext/session/tests/003.phpt is the first test to trigger this :(

david


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] session tests segfaulting...

2002-10-06 Thread David Reid

I'm getting a segfault on the following tests in ext/session...

3,7,8,9,12,13,14,18,19  21

Test 15 also fails.

The system is BeOS. BeOS tends to be more conservative about memory than
some systems and will segfault for errors where other systems carry on
(which is a PITA!)

I'll provide any help I can but last time I traced it it looked like
PHP_IC_ENTRY was being set as NULL...

david


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] PHP_IC_ENTRY

2002-10-05 Thread David Reid

When I run make test the session tests fail (almost all of them) and it
seems after some tracing that PHP_IC_ENTRY is always NULL and for the
sessions so it dies when running object_common1 from php_var_unserialize.
This first occurs in 003.phpt. Anyone care to throw pointers about what's
going on? This is CVS head on beos if it makes any difference.

david


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DEV] PHP_AUTH_USER in 4.3

2002-10-02 Thread David Reid

This also seems to be a problem for SquirrelMail (2.0.8) which just hangs
after the upgrade. It was working OK before I changed to CVS.

david

- Original Message -
From: Rasmus Lerdorf [EMAIL PROTECTED]
To: David Reid [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, October 02, 2002 1:29 AM
Subject: Re: [PHP-DEV] PHP_AUTH_USER in 4.3


 It shouldn't have stopped working.  Did you change your register_globals
 setting or something?

 On Wed, 2 Oct 2002, David Reid wrote:

  Is support for this being dropped or is it just not added yet? Just
changed
  from 4.2.3 and was surprised to see that it stopped working...
 
  david
 
 
  --
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php
 




-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] [PATCH] TSRM patch for BeOS

2002-10-02 Thread David Reid

Any chance of committing this patch. Adds support for beos threading to TSRM
and some small corrections for virtual_cwd.

Thanks.

david

Using port 2401
Index: TSRM/TSRM.c
===
RCS file: /repository/TSRM/TSRM.c,v
retrieving revision 1.44
diff -u -r1.44 TSRM.c
--- TSRM/TSRM.c 7 Aug 2002 14:47:05 - 1.44
+++ TSRM/TSRM.c 2 Oct 2002 23:57:12 -
 -95,9 +95,10 
 static int tls_key;
 #elif defined(TSRM_WIN32)
 static DWORD tls_key;
+#elif defined(BETHREADS)
+static int32 tls_key;
 #endif

-
 /* Startup TSRM (call once for the entire process) */
 TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int
debug_level, char *debug_filename)
 {
 -110,6 +111,8 
  st_key_create(tls_key, 0);
 #elif defined(TSRM_WIN32)
  tls_key = TlsAlloc();
+#elif defined(BETHREADS)
+tls_key = tls_allocate();
 #endif

  tsrm_error_file = stderr;
 -258,6 +261,8 
  st_thread_setspecific(tls_key, (void *) *thread_resources_ptr);
 #elif defined(TSRM_WIN32)
  TlsSetValue(tls_key, (void *) *thread_resources_ptr);
+#elif defined(BETHREADS)
+tls_set(tls_key, (void*) *thread_resources_ptr);
 #endif

  if (tsrm_new_thread_begin_handler) {
 -297,6 +302,8 
   thread_resources = st_thread_getspecific(tls_key);
 #elif defined(TSRM_WIN32)
   thread_resources = TlsGetValue(tls_key);
+#elif defined(BETHREADS)
+thread_resources = (tsrm_tls_entry*)tls_get(tls_key);
 #else
   thread_resources = NULL;
 #endif
 -423,6 +430,8 
  return PIThread_getCurrent();
 #elif defined(TSRM_ST)
  return st_thread_self();
+#elif defined(BETHREADS)
+ return find_thread(NULL);
 #endif
 }

 -454,6 +463,10 
  mutexp = PIPlatform_allocLocalMutex();
 #elif defined(TSRM_ST)
  mutexp = st_mutex_new();
+#elif defined(BETHREADS)
+ mutexp = (beos_ben*)malloc(sizeof(beos_ben));
+ mutexp-ben = 0;
+ mutexp-sem = create_sem(1, PHP sempahore);
 #endif
 #ifdef THR_DEBUG
   printf(Mutex created thread: %d\n,mythreadid());
 -481,6 +494,9 
   PISync_delete(mutexp);
 #elif defined(TSRM_ST)
   st_mutex_destroy(mutexp);
+#elif defined(BETHREADS)
+  delete_sem(mutexp-sem);
+  free(mutexp);
 #endif
 }
 #ifdef THR_DEBUG
 -508,6 +524,10 
  return PISync_lock(mutexp);
 #elif defined(TSRM_ST)
  return st_mutex_lock(mutexp);
+#elif defined(BETHREADS)
+ if (atomic_add(mutexp-ben, 1) != 0)
+ return acquire_sem(mutexp-sem);
+return 0;
 #endif
 }

 -531,6 +551,10 
  return PISync_unlock(mutexp);
 #elif defined(TSRM_ST)
  return st_mutex_unlock(mutexp);
+#elif defined(BETHREADS)
+if (atomic_add(mutexp-ben, -1) != 1)
+ return release_sem(mutexp-sem);
+ return 0;
 #endif
 }

Index: TSRM/TSRM.h
===
RCS file: /repository/TSRM/TSRM.h,v
retrieving revision 1.35
diff -u -r1.35 TSRM.h
--- TSRM/TSRM.h 7 Aug 2002 14:47:05 - 1.35
+++ TSRM/TSRM.h 2 Oct 2002 23:57:12 -
 -47,6 +47,9 
 # include pthread.h
 #elif defined(TSRM_ST)
 # include st.h
+#elif defined(BETHREADS)
+#include kernel/OS.h
+#include TLS.h
 #endif

 typedef int ts_rsrc_id;
 -73,6 +76,13 
 #elif defined(TSRM_ST)
 # define THREAD_T st_thread_t
 # define MUTEX_T st_mutex_t
+#elif defined(BETHREADS)
+# define THREAD_T thread_id
+typedef struct {
+  sem_id sem;
+  int32 ben;
+} beos_ben;
+# define MUTEX_T beos_ben *
 #endif

 typedef void (*ts_allocate_ctor)(void *, void ***);
Index: TSRM/threads.m4
===
RCS file: /repository/TSRM/threads.m4,v
retrieving revision 1.11
diff -u -r1.11 threads.m4
--- TSRM/threads.m4 19 Sep 2001 09:01:05 - 1.11
+++ TSRM/threads.m4 2 Oct 2002 23:57:12 -
 -102,26 +102,31 
 dnl
 AC_DEFUN(PTHREADS_CHECK,[

-save_CFLAGS=$CFLAGS
-save_LIBS=$LIBS
-PTHREADS_ASSIGN_VARS
-PTHREADS_CHECK_COMPILE
-LIBS=$save_LIBS
-CFLAGS=$save_CFLAGS
+if test $beos_threads = 1; then
+  pthreads_working=yes
+  ac_cv_pthreads_cflags=
+else
+  save_CFLAGS=$CFLAGS
+  save_LIBS=$LIBS
+  PTHREADS_ASSIGN_VARS
+  PTHREADS_CHECK_COMPILE
+  LIBS=$save_LIBS
+  CFLAGS=$save_CFLAGS

-AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
-ac_cv_pthreads_cflags=
-if test $pthreads_working != yes; then
-  for flag
in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded;
do
-ac_save=$CFLAGS
-CFLAGS=$CFLAGS $flag
-PTHREADS_CHECK_COMPILE
-CFLAGS=$ac_save
-if test $pthreads_working = yes; then
-  ac_cv_pthreads_cflags=$flag
-  break
-fi
-  done
+  AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
+  ac_cv_pthreads_cflags=
+  if test $pthreads_working != yes; then
+for flag
in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded;
do
+  ac_save=$CFLAGS
+  CFLAGS=$CFLAGS $flag
+  PTHREADS_CHECK_COMPILE
+  CFLAGS=$ac_save
+  if test $pthreads_working = yes; then
+ac_cv_pthreads_cflags=$flag
+break
+  fi
+done
+  fi
 fi
 ])

Index: TSRM/tsrm.m4

[PHP-DEV] apache2filter error...

2002-10-02 Thread David Reid

This is a new error I just started seeing...

/boot/home/php4/sapi/apache2filter/php_functions.c: In function
`php_apache_lookup_uri':
/boot/home/php4/sapi/apache2filter/php_functions.c:46: error: `tsrm_ls'
undeclared (first use in this function)
/boot/home/php4/sapi/apache2filter/php_functions.c:46: error: (Each
undeclared identifier is reported only once
/boot/home/php4/sapi/apache2filter/php_functions.c:46: error: for each
function it appears in.)

Any ideas?

david


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] PHP_AUTH_USER in 4.3

2002-10-01 Thread David Reid

Is support for this being dropped or is it just not added yet? Just changed
from 4.2.3 and was surprised to see that it stopped working...

david


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] fnmatch

2002-09-24 Thread David Reid

The test for fnmatch is incorrectly giving yes on beos. Autoconf 2.53
seems to have a new test specifically for fnmatch so could we use their test
in php? This is probably easier than requiring an upgrade to 2.53 for
autoconf for such a trivial little thing...

david


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php