summaryrefslogtreecommitdiff
path: root/xen.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2016-05-17 12:21:04 +0200
committerIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2016-05-17 12:21:04 +0200
commit248790aca5d5b6dc9a8edeea1abed0195ac1338e (patch)
treec473c68af2ab5d091d7035fa1b539cbaf2ac2e4f /xen.c
parent110d59c341b8c50c04f30d90e85e9b8f6f329a0e (diff)
Imported Upstream version 16.5~dfsg
Diffstat (limited to 'xen.c')
-rw-r--r--xen.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/xen.c b/xen.c
index 1ba78ba..1b001f3 100644
--- a/xen.c
+++ b/xen.c
@@ -1282,6 +1282,10 @@ void xen_initialize(void)
#if HAVE_SCHEME
#include "s7.h"
+#if ENABLE_WEBSERVER
+ #include "s7webserver/s7webserver.h"
+#endif
+
s7_scheme *s7;
Xen xen_false, xen_true, xen_nil, xen_undefined, xen_zero;
@@ -1643,6 +1647,17 @@ Xen_wrap_1_arg(g_ftell_w, g_ftell)
Xen_wrap_no_args(g_gc_off_w, g_gc_off)
Xen_wrap_no_args(g_gc_on_w, g_gc_on)
+#if ENABLE_WEBSERVER
+ #if USE_MOTIF
+ #include "snd.h"
+ static idle_func_t called_periodically(any_pointer_t pet)
+ {
+ s7webserver_call_very_often();
+ return(BACKGROUND_CONTINUE);
+ }
+ #endif
+#endif
+
s7_scheme *s7_xen_initialize(s7_scheme *sc)
{
@@ -1655,6 +1670,18 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
fprintf(stderr, "Can't initialize s7!\n");
return(NULL);
}
+#if ENABLE_WEBSERVER
+ {
+ s7webserver_t *s7webserver;
+ s7webserver = s7webserver_create(s7, 6080, true);
+ if (!s7webserver)
+ fprintf(stderr, "Unable to start web server. Port 6080 may be in use\n");
+ else fprintf(stdout, "Started s7 webserver at port %d\n", s7webserver_get_portnumber(s7webserver));
+#if USE_MOTIF
+ BACKGROUND_ADD(called_periodically, NULL);
+#endif
+ }
+#endif
}
else s7 = sc;