Compare commits
3 Commits
364102c0b6
...
ca3b98cc53
Author | SHA1 | Date |
---|---|---|
Xavier Del Campo Romero | ca3b98cc53 | |
Xavier Del Campo Romero | bf989aec3b | |
Xavier Del Campo Romero | 28b866b150 |
|
@ -259,7 +259,7 @@ static int wait_ack(struct msg *msg)
|
||||||
} while (ret < 0 && errno == EAGAIN);
|
} while (ret < 0 && errno == EAGAIN);
|
||||||
|
|
||||||
if (msg->type != MSG_TYPE_ACK) {
|
if (msg->type != MSG_TYPE_ACK) {
|
||||||
fprintf(stderr, "unexpected msg.type %d\n", msg->type);
|
fprintf(stderr, "wait_ack: unexpected msg.type %d\n", msg->type);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,9 +367,7 @@ static void stop_thread(void)
|
||||||
#ifdef _POSIX_VERSION
|
#ifdef _POSIX_VERSION
|
||||||
void gdbstub_sys_recv(struct msg *msg)
|
void gdbstub_sys_recv(struct msg *msg)
|
||||||
{
|
{
|
||||||
while (out_queue < 0)
|
if (out_queue >= 0)
|
||||||
;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
const ssize_t sz = mq_receive(out_queue, (char *)msg, sizeof *msg, 0);
|
const ssize_t sz = mq_receive(out_queue, (char *)msg, sizeof *msg, 0);
|
||||||
|
|
||||||
|
@ -406,7 +404,7 @@ void dbg_stop(void)
|
||||||
|
|
||||||
void dbg_start(void)
|
void dbg_start(void)
|
||||||
{
|
{
|
||||||
if (server_socket > 0) {
|
if (server_socket >= 0) {
|
||||||
fprintf(stderr, "gdb server already started\n");
|
fprintf(stderr, "gdb server already started\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -415,14 +413,18 @@ void dbg_start(void)
|
||||||
|
|
||||||
server_socket = StartServer(port);
|
server_socket = StartServer(port);
|
||||||
|
|
||||||
if (server_socket > 0) {
|
if (server_socket >= 0) {
|
||||||
printf("GDB server started on port %hu.\n", port);
|
printf("GDB server started on port %hu.\n", port);
|
||||||
if (queue_create())
|
if (queue_create()) {
|
||||||
fprintf(stderr, "could not create gdb stub internal queues\n");
|
fprintf(stderr, "could not create gdb stub internal queues\n");
|
||||||
|
Config.GdbServer = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
start_thread();
|
start_thread();
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
fprintf(stderr, "could not start GDB server\n");
|
fprintf(stderr, "could not start GDB server\n");
|
||||||
|
Config.GdbServer = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@ static enum read_socket_err ReadSocketOS(int client_socket, char *buf, size_t *c
|
||||||
enum read_socket_err ReadSocket(int client_socket, char *buf, size_t *const len) {
|
enum read_socket_err ReadSocket(int client_socket, char *buf, size_t *const len) {
|
||||||
char * endl;
|
char * endl;
|
||||||
|
|
||||||
if (!client_socket || !buf || !len || !*len)
|
if (client_socket < 0 || !buf || !len || !*len)
|
||||||
return READ_SOCKET_ERR_INVALID_ARG;
|
return READ_SOCKET_ERR_INVALID_ARG;
|
||||||
|
|
||||||
return ReadSocketOS(client_socket, buf, len);
|
return ReadSocketOS(client_socket, buf, len);
|
||||||
|
|
Loading…
Reference in New Issue