f9micro / f9-kernel

An efficient and secure microkernel built for ARM Cortex-M cores, inspired by L4
Other
683 stars 145 forks source link

Thread could not be released. #74

Closed georgekang closed 10 years ago

georgekang commented 10 years ago

In ipc test, two threads, simple_ipc_t1_l, simple_ipc_t2_l should be released finally by sending L4_Niltag to their parent thread. However, these two threads are still alive after all. Use 't' command in KDB could observe this issue.

ahmedammar commented 10 years ago

I wanted to simply confirm this issue too.

georgekang commented 10 years ago

Fix Result: The following two threads are deleted after a little time. [USR] 00804001 00000040 SEND 00800002 [USR] 00808001 00000080 RECV 00800002

====================================================
      Copyright(C) 2013 The F9 Microkernel Project  
====================================================
Git head: 409f95fbc19aae0081faa71accf4bfd342c00aec
Host: x86_64
Build: 2014-04-07T11:42:42+0800

Press '?' to print KDB menu

L4/Pistachio test suite starts

Simple IPC test (inter-as, only untyped words)
  Send Message transfer:   OK
  ReplyWait Message transfer:   OK
Returned Id 0 != 0 (local) [0 (global)]
  From parameter (local):   FAILED

## KDB ##
-------THREADS------
type  global   local    state  parent
IDLE  00000000 00000000 RUN    00000000
ROOT  00008000 00000000 RECV   00000000
KERN  00004000 00000000 RUN    00000000
[USR] 00800002 00000040 RECV   00008000
[USR] 00400002 00000080 RECV   00008000
[USR] 00804001 00000040 SEND   00800002
[USR] 00808001 00000080 RECV   00800002
[USR] 00404002 00000040 SEND   00400002
[USR] 00408002 00000080 RECV   00400002
----------------

## KDB ##

## KDB ##
-------THREADS------
type  global   local    state  parent
IDLE  00000000 00000000 RUN    00000000
ROOT  00008000 00000000 RECV   00000000
KERN  00004000 00000000 RUN    00000000
[USR] 00800002 00000040 RECV   00008000
[USR] 00400002 00000080 RECV   00008000
[USR] 00404002 00000040 RUN    00400002
[USR] 00408002 00000080 RECV   00400002
----------------