| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
libudev will strip trailing newline characters ("\r\n") when reading
sysfs attributes. The uncached reading functions however bypassed the
udev mechanism unnecessarily and then added their own cache on top.
Setting the value to NULL clears the internal cache in systemd. As such,
we can simply do this and then fall back to the normal implementation to
implement the _uncached version of the sysfs attribute getters.
|
|
|
|
|
|
|
| |
All the functions parsing double values from sysfs were using strtod to
parse the values instead of g_ascii_strtod() which forces C locale
parsing. All the kernel values use C locale formatted doubles, so use
g_ascii_strtod().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the volative qualification is not needed here,
it is a historical artifact
Compiler output:
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:22,
from ../gudev/gudevenums.h:14,
from ../gudev/gudev.h:11,
from gudev/gudevenumtypes.c:4:
gudev/gudevenumtypes.c: In function 'g_udev_device_type_get_type':
/usr/include/glib-2.0/glib/gatomic.h:117:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wincompatible-pointer-types]
117 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
| ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro 'g_atomic_pointer_get'
260 | (!g_atomic_pointer_get (location) && \
| ^~~~~~~~~~~~~~~~~~~~
gudev/gudevenumtypes.c:11:7: note: in expansion of macro 'g_once_init_enter'
11 | if (g_once_init_enter (&g_define_type_id__volatile))
| ^~~~~~~~~~~~~~~~~
|
|
|
|
|
| |
@filename@ writes the full path to the generated file,
which can vary in CI systems and make outputs non-reproducible.
|
| |
|
| |
|
|
|
|
|
| |
The changes made haphazardly in e186dac0 and 31e31d52 were documented
for _sysfs_attr_as_boolean_uncached() but not implemented.
|
|
|
|
|
| |
The behaviour was changed in commit e186dac0, but the documentation
wasn't updated.
|
|
|
|
|
| |
We weren't supposed to change the strings recognised as booleans, which
we only documented and didn't actually implement.
|
|
|
|
|
|
|
|
|
|
| |
sysfs attributes which contain text will almost always contain a '\n' at
the end so that they can be cat'ed cleanly from the shell.
Fix g_udev_device_get_sysfs_attr_as_boolean to take this into account by
cutting off the string before the first '\n' if it is present.
Closes: #7
|
|
|
|
|
|
|
|
|
|
|
|
| |
Which matches the string representation of a "bool" as used in module
parameters:
"
Standard types are:
[...]
* bool: a bool, values 0/1, y/n, Y/N.
"
See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/moduleparam.h#n123
|
|
|
|
|
| |
The meson build system focuses on speed an ease of use,
which helps speeding up the software development.
|
|
|
|
|
| |
We very often need to access the current value of sysfs attributes. Add
functions that do I/O on the sysfs files and update the cache.
|
|
|
|
| |
Follow-up to d0bd1da7a14323497b435b37ec99aa9375e751c1
|
|
|
|
|
|
|
|
| |
Bit me once again, so best to make it clear in the API documentation
that sysfs_attr are only fetched _once_.
libgudev calls udev_device_get_sysattr_value() which says in its docs:
https://github.com/systemd/systemd/blob/4d939d2c849fea2169082451a90722030dca5139/src/libudev/libudev-device.c#L730-L731
|
|
|
|
|
|
| |
And replace with the G_ADD_PRIVATE() as available in glib 2.38.
Closes: #2
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=787314
|
|
|
|
|
|
| |
This takes the guesswork out of it.
https://bugzilla.gnome.org/show_bug.cgi?id=787314
|
|
|
|
|
|
|
|
| |
Add "online" and "offline" actions as per:
src/libsystemd/sd-device/device-private.c
in the systemd repository
https://bugzilla.gnome.org/show_bug.cgi?id=787314
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
g_udev_client_new takes an optional list of subsystems
(and device types) to filter the udev event stream on. These
subsystems aren't automatically matched for device enumeration,
though, which is unexpected.
This commit changes gudevenumerator to get its udev_enumerate object
from gudevclient with the appropriate subsystem and device matches
already set up.
https://bugzilla.gnome.org/show_bug.cgi?id=773224
|
|
|
|
|
| |
And require a newer glib for that functionality. glib 2.30 was released
in 2011, so seems new enough for us to make use of it.
|
|
|
|
|
|
| |
(David: backported to libgudev from systemd upstream)
https://bugzilla.gnome.org/show_bug.cgi?id=750232
|
|
Import initial libgudev from systemd-218. This includes the libgudev
sources, the introspection data and gtk-doc reference documentation.
|