mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-05 05:04:44 +02:00
bitbake: pyinotify.py: Simplify identification of which event has occurred
Use bitwise operators to manipulate the received event mask in _ProcessEvent. Also minor clarification & clean up of the related comments. (Bitbake rev: 2ab60c7be124d928d304ab1fb73f0dbff29964ae) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
33b929192e
commit
c679713a72
|
@ -595,24 +595,23 @@ class _ProcessEvent:
|
|||
@type event: Event object
|
||||
@return: By convention when used from the ProcessEvent class:
|
||||
- Returning False or None (default value) means keep on
|
||||
executing next chained functors (see chain.py example).
|
||||
executing next chained functors (see chain.py example).
|
||||
- Returning True instead means do not execute next
|
||||
processing functions.
|
||||
@rtype: bool
|
||||
@raise ProcessEventError: Event object undispatchable,
|
||||
unknown event.
|
||||
"""
|
||||
stripped_mask = event.mask - (event.mask & IN_ISDIR)
|
||||
# Bitbake hack - we see event masks of 0x6, IN_MODIFY & IN_ATTRIB
|
||||
stripped_mask = event.mask & ~IN_ISDIR
|
||||
# Bitbake hack - we see event masks of 0x6, i.e., IN_MODIFY & IN_ATTRIB.
|
||||
# The kernel inotify code can set more than one of the bits in the mask,
|
||||
# fsnotify_change() in linux/fsnotify.h is quite clear that IN_ATTRIB,
|
||||
# IN_MODIFY and IN_ACCESS can arrive together.
|
||||
# This breaks the code below which assume only one mask bit is ever
|
||||
# set in an event. We don't care about attrib or access in bitbake so drop those
|
||||
if (stripped_mask & IN_MODIFY) and (stripped_mask & IN_ATTRIB):
|
||||
stripped_mask = stripped_mask - (stripped_mask & IN_ATTRIB)
|
||||
if (stripped_mask & IN_MODIFY) and (stripped_mask & IN_ACCESS):
|
||||
stripped_mask = stripped_mask - (stripped_mask & IN_ACCESS)
|
||||
# set in an event. We don't care about attrib or access in bitbake so
|
||||
# drop those.
|
||||
if stripped_mask & IN_MODIFY:
|
||||
stripped_mask &= ~(IN_ATTRIB | IN_ACCESS)
|
||||
|
||||
maskname = EventsCodes.ALL_VALUES.get(stripped_mask)
|
||||
if maskname is None:
|
||||
|
|
Loading…
Reference in New Issue
Block a user