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

View File

@ -424,13 +424,17 @@ lwp_to_thread (int lwp)
static struct cleanup * static struct cleanup *
save_inferior_pid (void) 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 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 static void
do_close_cleanup (void *arg) do_close_cleanup (void *arg)
{ {
close ((int) arg); int *fd = arg;
close (*fd);
xfree (fd);
} }
struct cleanup * struct cleanup *
make_cleanup_close (int fd) make_cleanup_close (int fd)
{ {
/* int into void*. Outch!! */ int *saved_fd = xmalloc (sizeof (fd));
return make_cleanup (do_close_cleanup, (void *) fd); *saved_fd = fd;
return make_cleanup (do_close_cleanup, saved_fd);
} }
static void static void