events: fix signal overlapping in generic events
authorarighi <arighi@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 3 Mar 2011 16:24:18 +0000 (16:24 +0000)
committerarighi <arighi@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 3 Mar 2011 16:24:18 +0000 (16:24 +0000)
When the kernel is enabled the generic events subsystem uses SIG_SYSTEM5
to synchronize the completion of the events.

The owner (process) of an event is assigned when the event is
initialized via event_initGeneric().

It may happen that the same process initializes more than one event, so
when one of them is triggered the process is awakened independently on
the event it is waiting for.

Fix this by moving the signal masks into the generic event structure and
export a new signal API to directly accept the signal masks, instead of
implicitly using the signal masks of the current process.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4750 38d2e660-2303-0410-9eaa-f027e97ec537


No differences found