* sol-thread.c (restore_inferior_pid): Save the PID in a freshly

allocated buffer.
(save_inferior_pid): Restore the PID from that tempoary
buffer. Delete the buffer.
* utils.c (make_cleanup_close, do_close_cleanup): Ditto for FD.
This commit is contained in:
Andrew Cagney
2001-02-07 03:44:24 +00:00
parent 58cfabe6f8
commit f042532cc4
3 changed files with 21 additions and 6 deletions

View File

@@ -424,13 +424,17 @@ lwp_to_thread (int lwp)
static struct cleanup *
save_inferior_pid (void)
{
return make_cleanup (restore_inferior_pid, (void *) inferior_pid);
int *saved_pid = xmalloc (sizeof (int));
*saved_pid = inferior_pid;
return make_cleanup (restore_inferior_pid, saved_pid);
}
static void
restore_inferior_pid (void *pid)
restore_inferior_pid (void *data)
{
inferior_pid = (int) pid;
int *saved_pid = data;
inferior_pid = *saved_pid;
xfree (saved_pid);
}