[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ./ChangeLog ./configure.ac server/LocalCo...
From: |
Rob Savoye |
Subject: |
[Gnash-commit] gnash ./ChangeLog ./configure.ac server/LocalCo... |
Date: |
Sun, 05 Feb 2006 05:42:02 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch:
Changes by: Rob Savoye <address@hidden> 06/02/05 05:42:02
Modified files:
. : ChangeLog configure.ac
server : LocalConnection.cpp LocalConnection.h
Makefile.am network.cpp
testsuite/actionscript.all: LocalConnection.as Makefile.am
Added files:
server : shm.cpp shm.h
Log message:
* server/shm.{h,cpp}: New support code for using POSIX named
shared memory segments.
* server/LocalConnection.h: Alternatively use shared memory
instead of a socket connection.
* server/LocalConnection.cpp: Alternatively use shared memory
instead of a socket connection.
* testsuite/actionscript.all/LocalConnection.as: Add addiotnal
tests for when using a shared memory subsystem.
* server/Makefile.am: Add shm.h, shm.cpp, network.cpp, network.h.
* configure.ac: Add --enable flag to switch using shared memory to
networking for local connections.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/ChangeLog.diff?tr1=1.90&tr2=1.91&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/configure.ac.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/LocalConnection.cpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/LocalConnection.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/Makefile.am.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/network.cpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/shm.cpp?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/shm.h?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/testsuite/actionscript.all/LocalConnection.as.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/testsuite/actionscript.all/Makefile.am.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
Patches:
Index: gnash/ChangeLog
diff -u gnash/ChangeLog:1.90 gnash/ChangeLog:1.91
--- gnash/ChangeLog:1.90 Sun Feb 5 01:10:58 2006
+++ gnash/ChangeLog Sun Feb 5 05:42:02 2006
@@ -1,10 +1,23 @@
2006-02-04 Rob Savoye <address@hidden>
+ * server/shm.{h,cpp}: New support code for using POSIX named
+ shared memory segments.
+ * server/LocalConnection.h: Alternatively use shared memory
+ instead of a socket connection.
+ * server/LocalConnection.cpp: Alternatively use shared memory
+ instead of a socket connection.
+ * testsuite/actionscript.all/LocalConnection.as: Add addiotnal
+ tests for when using a shared memory subsystem.
+ * server/Makefile.am: Add shm.h, shm.cpp, network.cpp, network.h.
+ * configure.ac: Add --enable flag to switch using shared memory to
+ networking for local connections.
+
* server/LocalConnection.h: Change API for connect(), and
domain().
* server/LocalConnection.cpp: Change API for connect(), and
domain(). Initial implementations of domain(), connect(), and
close().
+
* server/network.cpp: Replace code with networking code from one
of my other GPL'd projects, PowerGuru. That code is much more
fully functional in a generic sense, and pretty solid too. Add
Index: gnash/configure.ac
diff -u gnash/configure.ac:1.31 gnash/configure.ac:1.32
--- gnash/configure.ac:1.31 Sat Feb 4 15:29:13 2006
+++ gnash/configure.ac Sun Feb 5 05:42:02 2006
@@ -108,7 +108,7 @@
dnl This enables or disables the support to make Gnash function as a
dnl small web server.
-AC_ARG_ENABLE(reader, [ --enable-http Enable support for a web
server],
+AC_ARG_ENABLE(http, [ --enable-http Enable support for a web
server],
[case "${enableval}" in
yes) http=yes ;;
no) http=no ;;
@@ -120,6 +120,18 @@
fi
AM_CONDITIONAL(HTTP, test x$http = xtrue)
+AC_ARG_ENABLE(net_conn, [ --enable-net-conn Enable support ],
+[case "${enableval}" in
+ yes) net_conn=yes ;;
+ no) net_conn=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for enable-net_conn option]) ;;
+esac], net_conn=no)
+
+if test x$net_conn = xyes; then
+ AC_DEFINE([NETWORK_CONN], [], [Use tcp/ip for local connections])
+fi
+AM_CONDITIONAL(NET_CONN, test x$net_conn = xtrue)
+
dnl Where are the Docbook stylesheets ?
AC_PATH_FIREFOX
@@ -135,6 +147,8 @@
AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
AC_CHECK_LIB(Xi, XInput_find_display)
AC_CHECK_LIB(X11, XDisableAccessControl)
+AC_CHECK_LIB(rt, shm_unlink)
+dnl AC_CHECK_LIB(c, mremap)
AM_PATH_ZLIB
AM_PATH_JPEG
AM_PATH_PNG
Index: gnash/server/LocalConnection.cpp
diff -u gnash/server/LocalConnection.cpp:1.2
gnash/server/LocalConnection.cpp:1.3
--- gnash/server/LocalConnection.cpp:1.2 Sun Feb 5 01:10:58 2006
+++ gnash/server/LocalConnection.cpp Sun Feb 5 05:42:02 2006
@@ -30,7 +30,7 @@
// \class LocalConnection
/// \brief Open a connection between two SWF movies so they can send
-/// each otherFlash Objects to be executed.
+/// each other Flash Objects to be executed.
///
LocalConnection::LocalConnection() {
}
@@ -42,7 +42,11 @@
void
LocalConnection::close()
{
+#ifdef NETWORK_CONN
closeNet();
+#else
+ closeMem();
+#endif
}
/// \brief Prepares the LocalConnection object to receive commands from a
@@ -54,6 +58,7 @@
bool
LocalConnection::connect(const char *name)
{
+#ifdef NETWORK_CONN
short lastport;
const char *lcname;
@@ -95,8 +100,14 @@
return false;
}
-
+#else
+ if (attach(name, true) == false) {
+ return false;
+ }
+#endif
_name = name;
+
+ return true;
}
/// \brief Returns a string representing the superdomain of the
@@ -113,10 +124,10 @@
std::string
LocalConnection::domain(void)
{
- if (_host.size() == 0) {
+ if (_name.size() == 0) {
return "localhost";
} else {
- return _host;
+ return _name;
}
}
@@ -138,9 +149,16 @@
localconnection_obj->set_member("domain", &localconnection_domain);
localconnection_obj->set_member("send", &localconnection_send);
#ifdef ENABLE_TESTING
+#ifdef NETWORK_CONN
localconnection_obj->set_member("connected", &network_connected);
localconnection_obj->set_member("getfilefd", &network_getfilefd);
localconnection_obj->set_member("getlistenfd", &network_getlistenfd);
+#else
+ localconnection_obj->set_member("getname", &shm_getname);
+ localconnection_obj->set_member("getsize", &shm_getsize);
+ localconnection_obj->set_member("getallocated", &shm_getallocated);
+ localconnection_obj->set_member("exists", &shm_exists);
+#endif
#endif
fn.result->set_as_object_interface(localconnection_obj);
@@ -161,16 +179,18 @@
void localconnection_connect(const fn_call& fn)
{
// log_msg("%s: %d args\n", __PRETTY_FUNCTION__, fn.nargs);
+ bool ret;
localconnection_as_object *ptr = (localconnection_as_object*)fn.this_ptr;
assert(ptr);
if (fn.nargs != 0) {
-
ptr->obj.connect(fn.env->bottom(fn.first_arg_bottom_index).to_string());
+ ret =
ptr->obj.connect(fn.env->bottom(fn.first_arg_bottom_index).to_string());
} else {
log_msg("ERROR: No connection name specified to
LocalConnection.connect()!\n");
- ptr->obj.connect("localhost"); // FIXME: This should probably
+ ret = ptr->obj.connect("localhost"); // FIXME: This should probably
// fail instead
}
+ fn.result->set_bool(ret);
}
/// \brief The callback for LocalConnection::domain()
Index: gnash/server/LocalConnection.h
diff -u gnash/server/LocalConnection.h:1.2 gnash/server/LocalConnection.h:1.3
--- gnash/server/LocalConnection.h:1.2 Sun Feb 5 01:10:58 2006
+++ gnash/server/LocalConnection.h Sun Feb 5 05:42:02 2006
@@ -28,11 +28,19 @@
#include "impl.h"
#include "log.h"
+#ifdef NETWORK_CONN
#include "network.h"
+#else
+#include "shm.h"
+#endif
namespace gnash {
+#ifdef NETWORK_CONN
class LocalConnection : public Network {
+#else
+class LocalConnection : public Shm {
+#endif
public:
LocalConnection();
~LocalConnection();
Index: gnash/server/Makefile.am
diff -u gnash/server/Makefile.am:1.17 gnash/server/Makefile.am:1.18
--- gnash/server/Makefile.am:1.17 Sat Feb 4 21:24:07 2006
+++ gnash/server/Makefile.am Sun Feb 5 05:42:02 2006
@@ -109,6 +109,7 @@
Movie.cpp \
render.cpp \
shape.cpp \
+ shm.cpp \
sound.cpp \
Sprite.cpp \
stream.cpp \
@@ -135,6 +136,7 @@
MovieClipLoader.h \
render.h \
shape.h \
+ shm.h \
sound.h \
stream.h \
gstring.h \
Index: gnash/server/network.cpp
diff -u gnash/server/network.cpp:1.2 gnash/server/network.cpp:1.3
--- gnash/server/network.cpp:1.2 Sun Feb 5 01:10:58 2006
+++ gnash/server/network.cpp Sun Feb 5 05:42:02 2006
@@ -506,6 +506,7 @@
// method to see if it worked correctly.
void network_geturl(const fn_call& fn)
{
+
network_as_object *ptr = (network_as_object*)fn.this_ptr;
assert(ptr);
fn.result->set_tu_string(ptr->obj.getURL().c_str());
Index: gnash/testsuite/actionscript.all/LocalConnection.as
diff -u gnash/testsuite/actionscript.all/LocalConnection.as:1.2
gnash/testsuite/actionscript.all/LocalConnection.as:1.3
--- gnash/testsuite/actionscript.all/LocalConnection.as:1.2 Sun Feb 5
01:10:58 2006
+++ gnash/testsuite/actionscript.all/LocalConnection.as Sun Feb 5 05:42:02 2006
@@ -70,16 +70,23 @@
// initial file descriptor returned by bind is still fine, since we
// could always (in a normal application) check later for incoming
// connections.
-tmp.connect("lc_test");
-if ((tmp.getfilefd() == -1) && (tmp.getlistenfd() > 2)) {
+var ret = tmp.connect("lc_test");
+// NOTE: This test will fail if a shared memory segment of the same
+// name exists. So the first time it'll pass, then it'll fail.
+if ((tmp.getname() == "/lc_test") && (ret == true)) {
trace("PASSED: LocalConnection::connect()");
-} else {
+} else {
trace("FAILED: LocalConnection::connect()");
}
+//if ((tmp.getfilefd() == -1) && (tmp.getlistenfd() > 2)) {
+// trace("PASSED: LocalConnection::connect()");
+//} else {
+// trace("FAILED: LocalConnection::connect()");
+//}
// Close the connection, and then check the state
tmp.close();
-if (tmp.connected() == false) {
+if (tmp.exists() == false) {
trace("PASSED: LocalConnection::close()");
} else {
trace("FAILED: LocalConnection::close()");
Index: gnash/testsuite/actionscript.all/Makefile.am
diff -u gnash/testsuite/actionscript.all/Makefile.am:1.9
gnash/testsuite/actionscript.all/Makefile.am:1.10
--- gnash/testsuite/actionscript.all/Makefile.am:1.9 Fri Feb 3 20:50:27 2006
+++ gnash/testsuite/actionscript.all/Makefile.am Sun Feb 5 05:42:02 2006
@@ -21,6 +21,7 @@
# We don't need --tool anymore
RUNTESTDEFAULTFLAGS = --srcdir $$srcdir
+noinst_SCRIPTS = gen-test.sh
INCLUDES = -I.. \
-I$(top_srcdir) \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ./ChangeLog ./configure.ac server/LocalCo...,
Rob Savoye <=