tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: would a mutex_wait be useful?




On Nov 4, 2008, at 3:50 AM, Mindaugas Rasiukevicius wrote:

Matt Thomas <matt%3am-software.com@localhost> wrote:


I'd like to be able to do a mutex_enter(9) which could be interruptable.
If interrupted, it would return the error why it was interrupted.

Where/when do you need interruptible mutex?

I was replacing code in arm32/mem.c with a home grown lock with mutex_enter.
Relatively easy to do except it no longer does PCATCH.

Maybe called int mutex_wait(kmutex_t *mtx, int ticks); and if ticks == 0
becomes (mutex_tryenter(mtx) ? 0 : ETIMEOUT).  If tick == -1, means
wait forever.

mutex_wait would use PCATCH for its sleeps and return EINTR if a signal
was caught.

That does not sound like a good API. If specific synchronisation is needed,
I think wrappers with mutex_tryenter() could be used for that.

Not easily. And rolling your own seems wrong. Hence the proposal for a common
method to do it.


Home | Main Index | Thread Index | Old Index