Subject:
|
Semaphore(s) locked when task killed.
|
Newsgroups:
|
lugnet.robotics.rcx.legos
|
Date:
|
Wed, 4 Sep 2002 02:28:19 GMT
|
Viewed:
|
2304 times
|
| |
| |
I have found that killing a task which is sending data via lnp will cause
lnp to stop functioning. Turning the brick off then on again will get lnp
working again. The issue is with the semaphore(s) used in the kernel tasks.
Currently there is no mechanism to track what semaphores are locked by a
task. When killall is used to end a task (which is commonly done) the task
will terminate prior to releasing the semaphores it has locked.
So, the question is, what is a good solution to this problem?
I tried a quick patch for the specific issue I encountered... where
program.c waits for the semaphore to be released before calling killall
(handling the run/stop button). However, this is a poor solution since the
task in question may have entered an infinite loop or encountered other such
problems.
I am working on a patch that tracks the semaphores locked by a task. kill
and killall can then release the semaphores while killing the task.
However, there may be a better solution.
// Joe
|
|
Message has 4 Replies: | | Re: Semaphore(s) locked when task killed.
|
| (...) hmmm I wonder what other unix like OSs do in this situation? automatically unlocking doesn't seem particuarlly clean, what is to say that it is safe to unlock the mutexes just because the locking thread has been killed? Perhaps we can (...) (22 years ago, 4-Sep-02, to lugnet.robotics.rcx.legos)
| | | Re: Semaphore(s) locked when task killed.
|
| (...) This explains a problem I've been having. I've noticed this exact issue, but I wasn't sure if I was doing something wrong, or exactly what the problem was. I have a program that sends IR messages (for proximity) and after the program is (...) (22 years ago, 4-Sep-02, to lugnet.robotics.rcx.legos)
| | | Re: Semaphore(s) locked when task killed.
|
| Have you considered implementing thread cleanup handlers? Similar to what pthread_cleanup_push and pthread_cleanup_pop provide. "Joseph Woolley" <jwoolley@spamblock....ht.rr.com> wrote in message news:H1w6v9.8M0@lugnet.com... (...) tasks. (...) task (...) (22 years ago, 4-Sep-02, to lugnet.robotics.rcx.legos)
|
7 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|