t2-l2-2rt-deadlock.tst 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #
  2. # RT-Mutex test
  3. #
  4. # Op: C(ommand)/T(est)/W(ait)
  5. # | opcode
  6. # | | threadid: 0-7
  7. # | | | opcode argument
  8. # | | | |
  9. # C: lock: 0: 0
  10. #
  11. # Commands
  12. #
  13. # opcode opcode argument
  14. # schedother nice value
  15. # schedfifo priority
  16. # lock lock nr (0-7)
  17. # locknowait lock nr (0-7)
  18. # lockint lock nr (0-7)
  19. # lockintnowait lock nr (0-7)
  20. # lockcont lock nr (0-7)
  21. # unlock lock nr (0-7)
  22. # signal 0
  23. # reset 0
  24. # resetevent 0
  25. #
  26. # Tests / Wait
  27. #
  28. # opcode opcode argument
  29. #
  30. # prioeq priority
  31. # priolt priority
  32. # priogt priority
  33. # nprioeq normal priority
  34. # npriolt normal priority
  35. # npriogt normal priority
  36. # locked lock nr (0-7)
  37. # blocked lock nr (0-7)
  38. # blockedwake lock nr (0-7)
  39. # unlocked lock nr (0-7)
  40. # opcodeeq command opcode or number
  41. # opcodelt number
  42. # opcodegt number
  43. # eventeq number
  44. # eventgt number
  45. # eventlt number
  46. #
  47. # 2 threads 2 lock
  48. #
  49. C: resetevent: 0: 0
  50. W: opcodeeq: 0: 0
  51. # Set schedulers
  52. C: schedfifo: 0: 80
  53. C: schedfifo: 1: 80
  54. # T0 lock L0
  55. C: locknowait: 0: 0
  56. W: locked: 0: 0
  57. # T1 lock L1
  58. C: locknowait: 1: 1
  59. W: locked: 1: 1
  60. # T0 lock L1
  61. C: lockintnowait: 0: 1
  62. W: blocked: 0: 1
  63. # T1 lock L0
  64. C: lockintnowait: 1: 0
  65. W: blocked: 1: 0
  66. # Make deadlock go away
  67. C: signal: 1: 0
  68. W: unlocked: 1: 0
  69. C: signal: 0: 0
  70. W: unlocked: 0: 1
  71. # Unlock and exit
  72. C: unlock: 0: 0
  73. W: unlocked: 0: 0
  74. C: unlock: 1: 1
  75. W: unlocked: 1: 1