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



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.

-- 
Mindaugas


Home | Main Index | Thread Index | Old Index