summaryrefslogtreecommitdiffstats
path: root/cpukit/libdebugger
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-04-19 14:33:29 +1000
committerChris Johns <chrisj@rtems.org>2017-04-19 14:33:29 +1000
commit7f95cc07079901693338ef565bb318f4d5ed5a7c (patch)
treeeadbf3dba56ee8bb78259e48aaed9ad73841b18b /cpukit/libdebugger
parenttestsuite: Fix rtems-test-check-py when a BSP has no tcfg file. (diff)
downloadrtems-7f95cc07079901693338ef565bb318f4d5ed5a7c.tar.bz2
libdebugger: Fix the mode on task create. Clean up warnings.
Closes #2976.
Diffstat (limited to 'cpukit/libdebugger')
-rw-r--r--cpukit/libdebugger/rtems-debugger-server.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/cpukit/libdebugger/rtems-debugger-server.c b/cpukit/libdebugger/rtems-debugger-server.c
index 8c20cf6fd4..77b5697a50 100644
--- a/cpukit/libdebugger/rtems-debugger-server.c
+++ b/cpukit/libdebugger/rtems-debugger-server.c
@@ -245,8 +245,8 @@ rtems_debugger_task_create(const char* name,
sc = rtems_task_create (tname,
priority,
stack_size,
- RTEMS_FLOATING_POINT | RTEMS_LOCAL,
RTEMS_PREEMPT | RTEMS_NO_ASR,
+ RTEMS_LOCAL | RTEMS_FLOATING_POINT,
id);
if (sc != RTEMS_SUCCESSFUL) {
*id = 0;
@@ -277,6 +277,7 @@ rtems_debugger_task_destroy(const char* name,
{
while (timeout) {
bool has_finished;
+
rtems_debugger_lock();
has_finished = *finished;
rtems_debugger_unlock();
@@ -384,24 +385,24 @@ static int
rtems_debugger_remote_connect(void)
{
rtems_debugger_remote* remote = rtems_debugger_remote_handle();
- if (remote == NULL) {
- errno = EIO;
- return -1;
+ if (remote != NULL) {
+ if (!remote->isconnected(remote))
+ return remote->connect(remote);
}
- if (!remote->isconnected(remote))
- return remote->connect(remote);
+ errno = EIO;
+ return -1;
}
static int
rtems_debugger_remote_disconnect(void)
{
rtems_debugger_remote* remote = rtems_debugger_remote_handle();
- if (remote == NULL) {
- errno = EIO;
- return -1;
+ if (remote != NULL) {
+ if (remote->isconnected(remote))
+ return remote->disconnect(remote);
}
- if (remote->isconnected(remote))
- return remote->disconnect(remote);
+ errno = EIO;
+ return -1;
}
static int
@@ -1884,7 +1885,7 @@ rtems_debugger_destroy(void)
if (rr < 0 && r == 0)
r = rr;
- rr = rtems_debugger_task_destroy("DBSr",
+ rr = rtems_debugger_task_destroy("DBSs",
rtems_debugger->server_task,
&rtems_debugger->server_finished,
RTEMS_DEBUGGER_TIMEOUT_STOP);
@@ -1906,6 +1907,12 @@ rtems_debugger_main(rtems_task_argument arg)
{
int r;
+
+ rtems_debugger_lock();
+ rtems_debugger->server_running = true;
+ rtems_debugger->server_finished = false;
+ rtems_debugger_unlock();
+
rtems_debugger_printf("rtems-db: remote running\n");
while (rtems_debugger_server_running()) {
@@ -1940,8 +1947,8 @@ rtems_debugger_start(const char* remote,
return -1;
rtems_debugger_lock();
- rtems_debugger->server_running = true;
- rtems_debugger->server_finished = false;
+ rtems_debugger->server_running = false;
+ rtems_debugger->server_finished = true;
rtems_debugger_unlock();
r = rtems_debugger_task_create("DBSs",