rbb 99/04/23 13:16:05
Modified: apr/test testproc.c
apr/threadproc/unix proc.c
Log:
More testing for process control. Arguments for programs passed to
create_process aren't working yet, so this test program isn't portable.
I am hoping to fix this problem later tonight. This also fixes a bug in
create_process
Revision Changes Path
1.2 +25 -1 apache-apr/apr/test/testproc.c
Index: testproc.c
===================================================================
RCS file: /home/cvs/apache-apr/apr/test/testproc.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- testproc.c 1999/04/23 17:59:52 1.1
+++ testproc.c 1999/04/23 20:16:03 1.2
@@ -57,15 +57,19 @@
#include "apr_errno.h"
#include "apr_general.h"
#include "errno.h"
+#include <unistd.h>
#include <stdio.h>
+#include <signal.h>
int test_filedel(void);
int testdirs(void);
-int main()
+int main(int argc, char *argv[])
{
apr_proc_t *newproc;
apr_procattr_t *attr;
+ apr_file_t *testfile;
+ char buf[256];
fprintf(stdout, "Creating procattr.......");
attr = apr_createprocattr_init();
@@ -95,5 +99,25 @@
exit(-1);
}
fprintf(stdout, "OK.\n");
+
+ fprintf(stdout, "Createing a new process.......");
+ if ((newproc = apr_create_process("a.out", NULL, NULL, attr)) == NULL) {
+ fprintf(stderr, "Could not create the new process\n");
+ exit(-1);
+ }
+ fprintf(stdout, "OK.\n");
+
+ fprintf(stdout, "Grabbing child's stdout.......");
+ if ((testfile = apr_get_childout(newproc)) == NULL) {
+ fprintf(stderr, "Could not get child's stdout\n");
+ exit(-1);
+ }
+ fprintf(stdout, "OK.\n");
+
+ fprintf(stdout, "Checking the data read from pipe to child.......");
+ apr_read(testfile, buf, 256);
+ if (!strcmp(buf, "Hello, World\n"))
+ fprintf(stdout,"OK\n");
+ else fprintf(stderr, "Uh-Oh\n");
}
1.2 +1 -0 apache-apr/apr/threadproc/unix/proc.c
Index: proc.c
===================================================================
RCS file: /home/cvs/apache-apr/apr/threadproc/unix/proc.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- proc.c 1999/04/23 17:59:56 1.1
+++ proc.c 1999/04/23 20:16:04 1.2
@@ -184,6 +184,7 @@
}
new->attr = attr;
+ return new;
}
apr_file_t *apr_get_childin(apr_proc_t *proc)