Blob Blame History Raw
diff -up frysk-0.4/frysk-imports/tests/frysk3525/exit47.c.2 frysk-0.4/frysk-imports/tests/frysk3525/exit47.c
--- frysk-0.4/frysk-imports/tests/frysk3525/exit47.c.2	2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/tests/frysk3525/exit47.c	2009-02-09 11:53:10.000000000 -0500
@@ -59,7 +59,7 @@ main (int argc, char *argv[], char *envp
 
   printf ("%d forking\n", getpid ());
   pid_t ppid = getpid ();
-  volatile pid_t pid;
+  volatile pid_t pid = -1; // updated by child during vfork
   pid_t v = vfork ();
   switch (v) {
 
diff -up frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c.2 frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c
--- frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c.2	2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c	2009-02-09 11:53:10.000000000 -0500
@@ -198,7 +198,7 @@ main (int argc, char *argv[], char *envp
   printf ("%d forking daemon\n", getpid ());
   pid_t ppid = getpid ();
 #define NR_TASKS 2
-  volatile pid_t tasks[NR_TASKS];
+  volatile pid_t tasks[NR_TASKS] = { }; // updated by vfork child
   pid_t v = vfork ();
   switch (v) {
 
diff -up frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx.2 frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx
--- frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx.2	2009-02-09 12:48:47.000000000 -0500
+++ frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx	2009-02-09 12:53:16.000000000 -0500
@@ -59,8 +59,8 @@ static frysk::sys::proc::Stat*
 scan(const char*p, frysk::sys::proc::Stat* const stat, frysk::rsl::Log* fine) {
   // The "comm" needs special treatment, need to scan backwards for
   // ')' as the command itself could contain ')'.
-  char* commStart = ::strchr (p, '(');
-  char* commEnd = ::strrchr (p, ')');
+  char* commStart = (char*) ::strchr ((char*)p, '(');
+  char* commEnd = (char*) ::strrchr ((char*)p, ')');
   if (commStart == NULL || commEnd == NULL)
     throwRuntimeException ("botched comm field");
   stat->comm = JvNewStringLatin1 (commStart + 1, commEnd - commStart - 1);
diff -up frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx.2 frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx
--- frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx.2	2009-02-09 13:49:48.000000000 -0500
+++ frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx	2009-02-09 13:50:34.000000000 -0500
@@ -60,8 +60,8 @@ static void
 scan(jnixx::env env, const char*p, Stat& stat, frysk::rsl::Log fine) {
   // The "comm" needs special treatment, need to scan backwards for
   // ')' as the command itself could contain ')'.
-  char* commStart = ::strchr(p, '(');
-  char* commEnd = ::strrchr(p, ')');
+  char* commStart = (char*) ::strchr((char*)p, '(');
+  char* commEnd = (char*) ::strrchr((char*)p, ')');
   if (commStart == NULL || commEnd == NULL)
     runtimeException(env, "botched comm field");
   int commLength = commEnd - (commStart + 1);