Re: [PHP-DEV] patch for ext/session

2002-06-26 Thread Brian France

Great!

Once the patch is checked in feel free to close the bug report or let 
me know and I will close it.

Thanks!

Brian

At 9:59 PM +0300 6/26/02, Jani Taskinen wrote:
>On Wed, 26 Jun 2002, Brian France wrote:
>
>>Does this fix the problem with configure?
>>
>>http://bugs.php.net/bug.php?id=17977
>
> yes..
>
>>I take it if session is shared then mm is shared as well, right?
>
> It makes the mm module not to be an extension of itself..
> which it really isn't, as it's only a module for session.
>
> Short answer: Yes. --with-mm=shared is same as --with-mm
>
>>Also will this "--enable-session=shared --without-mm" still allow
>>session to be shared?
>
> Oh..didn't test that one, but yes, it should still allow
> it to be shared. (actually..I think that was fixed by Sascha
> a while ago in CVS)

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




Re: [PHP-DEV] patch for ext/session

2002-06-26 Thread Jani Taskinen

On Wed, 26 Jun 2002, Brian France wrote:

>Does this fix the problem with configure?
>
>http://bugs.php.net/bug.php?id=17977

yes..

>I take it if session is shared then mm is shared as well, right?

It makes the mm module not to be an extension of itself..
which it really isn't, as it's only a module for session.

Short answer: Yes. --with-mm=shared is same as --with-mm

>Also will this "--enable-session=shared --without-mm" still allow 
>session to be shared?

Oh..didn't test that one, but yes, it should still allow
it to be shared. (actually..I think that was fixed by Sascha
a while ago in CVS)

--Jani


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




Re: [PHP-DEV] patch for ext/session

2002-06-26 Thread Brian France

Does this fix the problem with configure?

http://bugs.php.net/bug.php?id=17977

I take it if session is shared then mm is shared as well, right?

Also will this "--enable-session=shared --without-mm" still allow 
session to be shared?

Thanks,

Brian

At 9:38 PM +0300 6/26/02, Jani Taskinen wrote:
> The attached patch fixes the problems when
> you build session extension as shared and MM.
>
> (--enable-session=shared --with-mm)
>
> Also adds a list of registered save handlers
> to the phpinfo() output.
>
> Please test/review. It works fine here,
> as shared and as static. Now the mm module is treated
> like the other external handlers..

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




[PHP-DEV] patch for ext/session

2002-06-26 Thread Jani Taskinen


The attached patch fixes the problems when
you build session extension as shared and MM.

(--enable-session=shared --with-mm)

Also adds a list of registered save handlers
to the phpinfo() output.

Please test/review. It works fine here,
as shared and as static. Now the mm module is treated
like the other external handlers..

--Jani


? .libs
Index: config.m4
===
RCS file: /repository/php4/ext/session/config.m4,v
retrieving revision 1.18
diff -u -r1.18 config.m4
--- config.m4   4 May 2002 16:48:48 -   1.18
+++ config.m4   26 Jun 2002 17:39:59 -
@@ -8,6 +8,15 @@
 PHP_ARG_ENABLE(session, whether to enable PHP sessions,
 [  --disable-session   Disable session support], yes)
 
+if test "$PHP_SESSION" != "no"; then
+  AC_CHECK_FUNCS(pread pwrite)
+  PHP_MISSING_PWRITE_DECL
+  PHP_MISSING_PREAD_DECL
+  PHP_NEW_EXTENSION(session, session.c mod_files.c mod_mm.c mod_user.c, $ext_shared)
+  PHP_SUBST(SESSION_SHARED_LIBADD)
+  AC_DEFINE(HAVE_PHP_SESSION,1,[ ])
+fi
+
 if test "$PHP_MM" != "no"; then
   for i in /usr/local /usr $PHP_MM; do
 if test -f "$i/include/mm.h"; then
@@ -22,14 +31,4 @@
   PHP_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/lib, SESSION_SHARED_LIBADD)
   PHP_ADD_INCLUDE($MM_DIR/include)
   AC_DEFINE(HAVE_LIBMM, 1, [Whether you have libmm])
-  PHP_MODULE_PTR(phpext_ps_mm_ptr)
-fi
-
-if test "$PHP_SESSION" != "no"; then
-  AC_CHECK_FUNCS(pread pwrite)
-  PHP_MISSING_PWRITE_DECL
-  PHP_MISSING_PREAD_DECL
-  PHP_NEW_EXTENSION(session, session.c mod_files.c mod_mm.c mod_user.c, $ext_shared)
-  PHP_SUBST(SESSION_SHARED_LIBADD)
-  AC_DEFINE(HAVE_PHP_SESSION,1,[ ])
 fi
Index: mod_mm.c
===
RCS file: /repository/php4/ext/session/mod_mm.c,v
retrieving revision 1.38
diff -u -r1.38 mod_mm.c
--- mod_mm.c6 Mar 2002 12:25:01 -   1.38
+++ mod_mm.c26 Jun 2002 17:40:00 -
@@ -423,17 +423,6 @@
return SUCCESS;
 }
 
-zend_module_entry php_session_mm_module = {
-   STANDARD_MODULE_HEADER,
-   "session mm",
-   NULL,
-   PHP_MINIT(ps_mm), PHP_MSHUTDOWN(ps_mm),
-   NULL, NULL,
-   NULL,
-NO_VERSION_YET,
-   STANDARD_MODULE_PROPERTIES
-};
-
 #endif
 
 /*
Index: mod_mm.h
===
RCS file: /repository/php4/ext/session/mod_mm.h,v
retrieving revision 1.6
diff -u -r1.6 mod_mm.h
--- mod_mm.h28 Feb 2002 08:26:40 -  1.6
+++ mod_mm.h26 Jun 2002 17:40:00 -
@@ -23,19 +23,13 @@
 
 #include "php_session.h"
 
+PHP_MINIT_FUNCTION(ps_mm);
+PHP_MSHUTDOWN_FUNCTION(ps_mm);
+
 extern ps_module ps_mod_mm;
 #define ps_mm_ptr &ps_mod_mm
 
-extern zend_module_entry php_session_mm_module;
-#define phpext_ps_mm_ptr &php_session_mm_module
-
 PS_FUNCS(mm);
 
-#else
-
-#define ps_mm_ptr NULL
-#define phpext_ps_mm_ptr NULL
-
 #endif
-
 #endif
Index: session.c
===
RCS file: /repository/php4/ext/session/session.c,v
retrieving revision 1.309
diff -u -r1.309 session.c
--- session.c   12 Jun 2002 08:18:36 -  1.309
+++ session.c   26 Jun 2002 17:40:01 -
@@ -50,6 +50,10 @@
 #include "mod_files.h"
 #include "mod_user.h"
 
+#ifdef HAVE_LIBMM
+#include "mod_mm.h"
+#endif
+
 /* {{{ session_functions[]
  */
 function_entry session_functions[] = {
@@ -1459,21 +1463,50 @@
zend_register_auto_global("_SESSION", sizeof("_SESSION")-1 TSRMLS_CC);
 
PS(module_number) = module_number; /* if we really need this var we need to 
init it in zts mode as well! */
+
REGISTER_INI_ENTRIES();
+
+#ifdef HAVE_LIBMM
+   PHP_MINIT(ps_mm) (INIT_FUNC_ARGS_PASSTHRU);
+#endif
return SUCCESS;
 }
 
 PHP_MSHUTDOWN_FUNCTION(session)
 {
UNREGISTER_INI_ENTRIES();
+
+#ifdef HAVE_LIBMM
+   PHP_MSHUTDOWN(ps_mm) (SHUTDOWN_FUNC_ARGS_PASSTHRU);
+#endif
+
return SUCCESS;
 }
 
 
 PHP_MINFO_FUNCTION(session)
 {
+   ps_module **mod;
+   smart_str handlers = {0};
+   int i;
+   
+   for (i = 0, mod = ps_modules; i < MAX_MODULES; i++, mod++) {
+   if (*mod && (*mod)->name) {
+   smart_str_appends(&handlers, (*mod)->name);
+   smart_str_appendc(&handlers, ' ');
+   }
+   }
+   
php_info_print_table_start();
php_info_print_table_row(2, "Session Support", "enabled" );
+
+   if (handlers.c) {
+   smart_str_0(&handlers);
+   php_info_print_table_row(2, "Registered save handlers", handlers.c);
+   smart_str_free(&handlers);
+   } else {
+   php_info_print_table_row(2, "Registered save handlers", "none");
+   }
php_info_print_tab