Menu

Commit [r224]  Maximize  Restore  History

java_get_session with load balancer

jost2345 2005-04-27

changed /trunk/php-java-bridge/java.c
changed /trunk/php-java-bridge/server/php/java/bridge/JavaBridge.java
/trunk/php-java-bridge/java.c Diff Switch to side-by-side view
--- a/trunk/php-java-bridge/java.c
+++ b/trunk/php-java-bridge/java.c
@@ -133,37 +133,30 @@
 PHP_FUNCTION(java_get_session)
 {
   proxyenv *jenv;
-  zval **argv;
-  int argc = ZEND_NUM_ARGS();
-  
-  if (argc!=1) WRONG_PARAM_COUNT;
-  
+  zval **session;
+  
+  if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &session) == FAILURE)
+	WRONG_PARAM_COUNT;
+
   if(JG(jenv)) {
 	php_error(E_ERROR, "This script has already selected a backend.  Please call java_get_session() before calling any of the java* or mono* functions.");
   }
 
-  argv = (zval **) safe_emalloc(sizeof(zval *), argc, 0);
-  if (zend_get_parameters_array(ht, argc, argv) == FAILURE) {
-	php_error(E_ERROR, "Couldn't fetch arguments into array.");
-	RETURN_NULL();
-  }
-
+  JG(session_is_new)=0;
 #if HAVE_PHP_SESSION
   if (PS(session_status) != php_session_active &&
 	  PS(session_status) != php_session_disabled) {
-	PS(id)=estrdup(Z_STRVAL_P(argv[0]));
+	PS(id)=estrndup(Z_STRVAL_PP(session), Z_STRLEN_PP(session));
 	php_session_start(TSRMLS_C);
-	JG(session_is_new)=0;
 	jenv=java_connect_to_server_no_multicast(TSRMLS_C);
 	if(!jenv) RETURN_NULL();
-	//	if(JG(session_is_new)) {
-	  //php_java_invoke(// destroy old session
   }
 #endif
 
-  php_java_invoke("getSession", 0, argc, argv, 1, return_value TSRMLS_CC);
-
-  efree(argv);
+  (*jenv)->writeInvokeBegin(jenv, 0, "getSession", 0, 'I', return_value);
+  (*jenv)->writeString(jenv, Z_STRVAL_PP(session), Z_STRLEN_PP(session)); 
+  (*jenv)->writeBoolean(jenv, JG(session_is_new)); 
+  (*jenv)->writeInvokeEnd(jenv);
 }
 
 PHP_FUNCTION(java_get_server_name)
/trunk/php-java-bridge/server/php/java/bridge/JavaBridge.java Diff Switch to side-by-side view
Loading...
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.