Skip to content

Commit 021fa0a

Browse files
committed
spectranext: fix restart on a secondary port (two emultators running)
1 parent 3f47d0c commit 021fa0a

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

debugger/gdbserver.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ int gdbserver_client_socket = -1; // Made non-static so packets.c can access it
4242
uint8_t tmpbuf[0x20000]; // Made non-static so vfile_ext.c can access it
4343
static volatile char gdbserver_trapped = 0;
4444
static int gdbserver_port = 0;
45+
static int gdbserver_requested_port = 0;
4546
static int gdbserver_last_trap_reason = DEBUG_TRAP_REASON_SIGNAL_RECEIVED;
4647

4748
static pthread_t network_thread_id;
@@ -813,6 +814,7 @@ int gdbserver_start( int port )
813814
}
814815

815816
gdbserver_port = actual_port;
817+
gdbserver_requested_port = port;
816818
gdbserver_debugging_enabled = 1;
817819

818820
// Log if we used a different port than requested
@@ -841,6 +843,8 @@ void gdbserver_stop()
841843
pthread_mutex_unlock(&network_read_mutex);
842844

843845
gdbserver_debugging_enabled = 0;
846+
gdbserver_port = 0;
847+
gdbserver_requested_port = 0;
844848
pthread_join(network_thread_id, NULL);
845849
utils_networking_end();
846850
}
@@ -885,7 +889,8 @@ void gdbserver_refresh_status()
885889
}
886890
else
887891
{
888-
if (gdbserver_debugging_enabled && (gdbserver_port != settings_current.gdbserver_port))
892+
if (gdbserver_debugging_enabled &&
893+
(gdbserver_requested_port != settings_current.gdbserver_port))
889894
{
890895
// we need to restart
891896
gdbserver_stop();

0 commit comments

Comments
 (0)