[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Re: run-process
From: |
Camm Maguire |
Subject: |
[Axiom-developer] Re: run-process |
Date: |
07 Mar 2005 18:31:08 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
root <address@hidden> writes:
> Camm,
>
> It appears that run-process is commented out in the linux version.
> Any idea why? I need this function because I'm using run-process
> to start the new lisp-based browser.
>
There is no good reason apart from history. Here is a patch, just
applied against CVS, reenabling and cleaning a few things up:
=============================================================================
Index: h/linux.h
===================================================================
RCS file: /cvsroot/gcl/gcl/h/linux.h,v
retrieving revision 1.11
diff -u -r1.11 linux.h
--- h/linux.h 3 May 2004 21:36:44 -0000 1.11
+++ h/linux.h 7 Mar 2005 23:24:18 -0000
@@ -93,7 +93,7 @@
result = (current_mask & sigmask(m) ? signal_mask(m) : 0) \
| (current_mask & sigmask(n) ? signal_mask(n) : 0);
-#undef RUN_PROCESS
+#define RUN_PROCESS
#define IEEEFLOAT
Index: h/protoize.h
===================================================================
RCS file: /cvsroot/gcl/gcl/h/protoize.h,v
retrieving revision 1.47
diff -u -r1.47 protoize.h
--- h/protoize.h 27 Nov 2004 22:19:35 -0000 1.47
+++ h/protoize.h 7 Mar 2005 23:24:18 -0000
@@ -600,6 +600,9 @@
gcl_init_symbol_function(void);
void
+gcl_init_socket_function(void);
+
+void
gcl_init_hash(void);
void
Index: o/run_process.c
===================================================================
RCS file: /cvsroot/gcl/gcl/o/run_process.c,v
retrieving revision 1.9
diff -u -r1.9 run_process.c
--- o/run_process.c 14 Sep 2003 02:43:08 -0000 1.9
+++ o/run_process.c 7 Mar 2005 23:24:21 -0000
@@ -16,12 +16,15 @@
*/
-
+#include <string.h>
#define IN_RUN_PROCESS
#include "include.h"
#ifdef RUN_PROCESS
+void setup_stream_buffer(object);
+object make_two_way_stream(object, object);
+
#ifdef __MINGW32__
#include<windows.h>
@@ -29,7 +32,6 @@
#define PIPE_BUFFER_SIZE 2048
void DisplayError ( char *pszAPI );
-void setup_stream_buffer ( object x );
void PrepAndLaunchRedirectedChild ( HANDLE hChildStdOut,
HANDLE hChildStdIn,
HANDLE hChildStdErr,
@@ -462,7 +464,6 @@
int sockets_in[2];
int sockets_out[2];
FILE *fp1, *fp2;
- int pid;
object stream_in, stream_out, stream;
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockets_in) < 0)
@@ -473,11 +474,12 @@
fp2 = fdopen(sockets_out[0], "w");
#ifdef OVM_IO
+ {int pid;
pid = getpid();
ioctl(sockets_in[0], SIOCSPGRP, (char *)&pid);
if( fcntl(sockets_in[0], F_SETFL, FASYNC | FNDELAY) == -1)
perror("Couldn't control socket");
-
+ }
#endif
@@ -502,7 +504,7 @@
* with "C" type streams.
*/
-
+void
spawn_process_with_streams(istream, ostream, pname, argv)
object istream;
object ostream;
@@ -531,12 +533,10 @@
}
}
-
-
-
}
+void
run_process(filename, argv)
char *filename;
char **argv;
@@ -550,6 +550,7 @@
vs_top = vs_base + 2;
}
+void
siLrun_process()
{
int i;
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ dch "Reenable run-process"
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ cvs -z9 -q ci -m "Reenable
run-process" debian/changelog h/linux.h h/protoize.h o/run_process.c
cvs commit: Up-to-date check failed for `h/protoize.h'
cvs [commit aborted]: correct above errors first!
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ mv h/protoize.h
h/protoize.h.try
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ cvs -z9 -q update
h/protoize.h
cvs update: warning: h/protoize.h was lost
U h/protoize.h
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ diff -u h/protoize.h.try
h/protoize.h
--- h/protoize.h.try 2005-03-07 23:16:59.000000000 +0000
+++ h/protoize.h 2005-03-07 23:28:24.000000000 +0000
@@ -20,7 +20,7 @@
/* alloc.c:1000:OF */ extern void gcl_init_alloc_function (void); /* () */
/* alloc.c:1126:OF */ extern void free (void *ptr); /* (ptr) void *ptr; */
/* array.c:57:OF */ extern void Laref (void); /* () */
-/* array.c:126:OF */ extern object fLsvref (object x, ufixnum i); /* (x, i)
object x; unsigned int i; */
+/* array.c:126:OF */ extern object fLsvref (object x, fixnum i); /* (x, i)
object x; unsigned int i; */
/* array.c:142:OF */ extern object fLrow_major_aref (object x,fixnum i); /*
(x, i) object x; int i; */
/* array.c:190:OF */ extern object fSaset1 (object x,fixnum i, object val); /*
(x, i, val) object x; int i; object val; */
/* array.c:262:OF */ extern void siLaset (void); /* () */
@@ -543,6 +543,7 @@
/* readline.d */
+extern int readline_on;
void
gcl_init_readline_function(void);
@@ -600,9 +601,6 @@
gcl_init_symbol_function(void);
void
-gcl_init_socket_function(void);
-
-void
gcl_init_hash(void);
void
=============================================================================
Please let me know if you want me to errata this, or if it is
important enough for another point release on 2.6.
Take care,
> Tim
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah