On 06.12.23 17:38, Jason Andryuk wrote:
On Wed, Dec 6, 2023 at 9:40 AM Juergen Gross <[email protected]> wrote:In tools/libs/evtchn/minios.c there are assert()s for the current thread being the main thread when binding an event channel. As Mini-OS is supporting multiple threads, there is no real reason why the binding shouldn't be allowed to happen in any other thread. Just drop the assert()s. Signed-off-by: Juergen Gross <[email protected]> --- tools/libs/evtchn/minios.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c index 28743cb055..e33ddec7e7 100644 --- a/tools/libs/evtchn/minios.c +++ b/tools/libs/evtchn/minios.c @@ -195,7 +195,6 @@ xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, int ret; evtchn_port_t port; - assert(get_current() == main_thread); port_info = port_alloc(xce);If multiple threads are allowed, does port_list need to gain a lock protecting it?
I thought of that, too. The answer is: maybe Any other list operation on the list isn't protected by an assert(), so technically there is no real new aspect added in this regard. I believe adding a lock would make sense, but it is orthogonal to this patch. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
