The inferior_ptid hack in do_initial_win32_stuff, added back in 2008:
  https://sourceware.org/ml/gdb-patches/2008-10/msg00012.html
with:
  commit 
9f9d052e600ed9436f9fd558d62a189c8cc3d43e
  Author:     Pierre Muller <muller@sourceware.org>
  AuthorDate: Thu Oct 2 14:20:07 2008 +0000
	      * win32-nat.c (do_initial_win32_stuff): Set inferior_ptid.
is no longer needed.  Back then, current_inferior looked like this:
  struct inferior*
  current_inferior (void)
  {
    struct inferior *inf = find_inferior_pid (ptid_get_pid (inferior_ptid));
    gdb_assert (inf);
    return inf;
  }
Nowadays, current_inferior() just returns the global current_inferior_
pointer, which didn't exist back then.
gdb/ChangeLog:
2020-06-18  Pedro Alves  <palves@redhat.com>
	* windows-nat.c (do_initial_windows_stuff): No longer set inferior_ptid.
 
+2020-06-18  Pedro Alves  <palves@redhat.com>
+
+       * windows-nat.c (do_initial_windows_stuff): No longer set inferior_ptid.
+
 2020-06-18  Pedro Alves  <palves@redhat.com>
 
        * go32-nat.c (go32_nat_target::create_inferior): Switch to thread
 
   inferior_appeared (inf, pid);
   inf->attach_flag = attaching;
 
-  /* Make the new process the current inferior, so terminal handling
-     can rely on it.  When attaching, we don't know about any thread
-     id here, but that's OK --- nothing should be referencing the
-     current thread until we report an event out of windows_wait.  */
-  inferior_ptid = ptid_t (pid);
-
   target_terminal::init ();
   target_terminal::inferior ();