I have a char driver and a userspace program which reads and writes from it. A certain command from the userspace program makes the char driver to acquire a lock and another to release the lock. This happens in the Write function of the driver. How can I include a timeout mechanism in the driver to release the mutex just in case I accidently quit the userspace program while the driver was holding the mutex.
Release mutex in char driver after a certain period of time has elapsed
135 Views Asked by Bwani At
1
There are 1 best solutions below
Related Questions in LINUX
- How do I recursively find and replace only in files named index.php on Linux webserver?
- passing text with \n as one argument in shell
- kernel module does not print packet info
- How to send ESC/POS commands to thermal printer in Linux
- (x64 Nasm) Writeline function on Linux
- How do I set the Hive user to something different than the Spark user from within a Spark program?
- Default priority of thread with SCHED_FIFO
- Calling a python function with options from shell script
- How to split a directory into parts without compressing or archiving?
- Cross compile simple standard C program on Linux for Mac
- How to offload NAPI poll function to workqueue
- python netifaces - How to get currently used network interface
- Unexpected output from function
- mingw-64 conflicting declarations when cross-compiling
- Different behavior of async with Visual Studio 2013(Windows8.1) and GCC 4.9(Ubuntu14.10)
Related Questions in TIMER
- NSTimer won't start (Swift)
- Using a timer to alter the alpha for object for a few seconds?
- timer in Jframe restart
- javaFX : How to periodically load information from db and show it on a Label?
- Calculating average and percentiles from a histogram map?
- Changing background of button every second
- Issues with long running Handlers, Timers, and Tasks?
- Android Studio: Where to place onClickListener in Master/Detail Flow, to start a CountDown Timer on Button Click
- Timer countdown formatting problems
- Countdown timer goes into negative number (00:00:00)
- Javascript timer - You generated the link "X seconds ago"
- How to resume a timer?
- Android- executing commands while countdown timer is running
- Backgroundworker to stop work after specified time
- Using AS3 Timer & distriqt Notification ANE To Send Notifications While In Sleep Mode
Related Questions in LINUX-DEVICE-DRIVER
- How to offload NAPI poll function to workqueue
- Kernel module configuration locked built in?
- I want to sleep while holding a mutex
- Insmod is not working
- USB Full Speed polling interval
- disabling CONFIG_NET_DMA
- Measure memory usage of a certain Linux driver module
- Documentation for regulator framework with device tree
- how is DMA-capable memory defined?
- TechWell TW6869 driver does not generate interrupts on embedded device
- How to share same header files between kernel modules and userspace applications.
- Detect active touchscreen on Linux (and if multitouch)
- how to use single platform device driver for multiple devices
- When to Update ALSA Audio Driver Buffer Pointer
- How to print kernel stack's lower and upper address in linux for process using pid and without using pid
Related Questions in MUTEX
- Why two threads accessing one resource crashes one thread?
- std::mutex::lock fails on Windows, error code 3
- Usage of C++11 std::unique_lock<std::mutex> lk(myMutex); not really clear
- How to make a robust mutex on AIx [7.1]
- pthread process shared mutex deadlock
- C/C++ arrays with threads - do I need to use mutexes or locks?
- Shared mutex in C error in Init
- Can I use WAL mode in SQLite3 if I use an additional mutex for multiple writers?
- Programmatically close Windows console application c++
- Simple thread/mutex test application is crashing
- Pi calculator with mutex Synchronization
- Android global mutex?
- Thread concurrency in linux
- C++ mutex locking error
- Acquiring Parent Mutex from Child Object
Related Questions in WATCHDOG
- WatchDog Timer in Beaglebone Black
- How I could create a db with the messages that are saved in admin/reports/dblog?
- Release mutex in char driver after a certain period of time has elapsed
- Arduino Uno Power Down mode with running timer
- How to test tx_timeout operation of a network kernel module?
- Last Reboot detection on PhyCORE-AM335x-PD13.1.2 Linux 3.2
- how to invoke an android internal method with reflection
- How does linux detect a process which is hogging the CPU and should be removed rather than preempting?
- get stack pointer and return address for sam3x8E
- How would you automatically restart a javascript application when it crashes?
- python How to watch for Win32_Processor LoadPercentage change in wmi?
- Setting up watchdog_set_period to max value causes reboot
- What tx_buf expects as input in spi_transfer
- How Callback is maintained from Userspace to Kernel Space
- UIWebView Causing Watchdog Timeout?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Looks like your current design is wrong.
It is an invariant that you don't leave the kernel with locks held. In fact if you had debug enabled (which for the most part you can take from any debug kernel for any distro) the kernel itself would tell you there is something wrong.