Fixes for tracing across exec
diff --git a/proc.h b/proc.h
index 96739e0..b5a08a8 100644
--- a/proc.h
+++ b/proc.h
@@ -140,6 +140,19 @@
* and add the process to an internal chain of traced processes. */
int process_init(struct Process *proc, const char *filename, pid_t pid);
+/* PROC underwent an exec. This is a bit like process_destroy
+ * followed by process_init, except that some state is kept and the
+ * process doesn't lose it's place in the list of processes. */
+int process_exec(struct Process *proc);
+
+/* Release any memory allocated for PROC (but not PROC itself). Does
+ * NOT remove PROC from internal chain.
+ *
+ * XXX clearly this init/destroy pair is different than others and
+ * should be fixed. process_init should presumably be separate from
+ * process_add. */
+void process_destroy(struct Process *proc);
+
struct Process *open_program(const char *filename, pid_t pid);
void open_pid(pid_t pid);
Process * pid2proc(pid_t pid);