* 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

@ -1,3 +1,11 @@
2001-02-06 Andrew Cagney <ac131313@redhat.com>
* 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.
2001-02-06 Andrew Cagney <ac131313@redhat.com>
* MAINTAINERS: Add ``The Obvious Fix Rule''.

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);
}

View File

@ -215,14 +215,17 @@ make_cleanup_bfd_close (bfd *abfd)
static void
do_close_cleanup (void *arg)
{
close ((int) arg);
int *fd = arg;
close (*fd);
xfree (fd);
}
struct cleanup *
make_cleanup_close (int fd)
{
/* int into void*. Outch!! */
return make_cleanup (do_close_cleanup, (void *) fd);
int *saved_fd = xmalloc (sizeof (fd));
*saved_fd = fd;
return make_cleanup (do_close_cleanup, saved_fd);
}
static void