tech-kern archive

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

Re: possible fix for: PR# 39420 - stopped processes can hold locks



In article <20090818205743.6F4CE63B135%mail.netbsd.org@localhost>,
Mindaugas Rasiukevicius  <rmind%netbsd.org@localhost> wrote:
>christos%astron.com@localhost (Christos Zoulas) wrote:
>> >Well, it's a hack. :) I do not think we should apply it to condvar(9).
>> >Solution suggested by <yamt> in the PR would be better.
>> 
>> Suspending processes only on user-kernel boundaries? Well, the patch
>> achieves that. How else would you implement it?
>
>In my understanding, suggestion was to change the way LSSTOP state is
>entered when sleeping interruptably (cf. proc_stop_callout). So that
>all LWPs would be passed through userret .
>
>By the way,
>
>-int   cv_wait_sig(kcondvar_t *, kmutex_t *);
>+int   cv_wait_sig1(kcondvar_t *, kmutex_t *, const sigset_t *);
>+#define cv_wait_sig(_cv, _km) cv_wait_sig1((_cv), (_km), NULL)
>
>This would break kernel modules, assuming that "backend" function
>cv_wait_sig1() may change.

That's why I bumped to .16.

christos



Home | Main Index | Thread Index | Old Index