for_each_thread(th) {
if(ptrace(PTRACE_ATTACH,th->pid,0,0)) {
- fprintf(stderr,"attaching to %d ...",th->pid);
perror("PTRACE_ATTACH");
}
else waiting_threads++;
* event to wait for */
fprintf(stderr, "%d was pseudo-atomic, letting it resume \n",
th->pid);
- SetTlSymbolValue(PSEUDO_ATOMIC_INTERRUPTED,1,th) ;
+ SetTlSymbolValue(PSEUDO_ATOMIC_INTERRUPTED,make_fixnum(1),th);
if(ptrace(PTRACE_CONT,th->pid,0,0))
perror("PTRACE_CONT");
waiting_threads++;
pid_t pid=0;
while(pid=waitpid(-1,&status,__WALL|WUNTRACED)) {
struct thread *th;
- fprintf(stderr,"waitpid pid %d\n",pid);
if(pid==-1) {
if(errno == EINTR) {
if(maybe_gc_pending) parent_do_garbage_collect();