fpi-log: Add atomic and unique check for FP_DEBUG_TRANSFER

Rather than check it all the times the variable, just rely on an atomic
check that is just done once for all
This commit is contained in:
Marco Trevisan (Treviño)
2026-06-22 15:22:04 +02:00
parent 8009a86247
commit 3a54e4f837
5 changed files with 27 additions and 2 deletions
+1
View File
@@ -353,6 +353,7 @@ fp_dbg_hex_dump_data
fp_info
fp_warn
fp_err
fpi_log_is_debug_transfer_enabled
BUG_ON
BUG
</SECTION>
+21
View File
@@ -21,6 +21,27 @@
#include "fpi-log.h"
/**
* fpi_log_is_debug_transfer_enabled:
*
* Checks if the %FP_DEBUG_TRANSFER environment variable is set.
*
* Returns: %TRUE if %FP_DEBUG_TRANSFER is set, %FALSE otherwise
*/
gboolean
fpi_log_is_debug_transfer_enabled (void)
{
static gsize debug_transfer_enabled = 0;
if (g_once_init_enter (&debug_transfer_enabled))
{
gsize enabled = g_getenv ("FP_DEBUG_TRANSFER") != NULL ? TRUE : G_MAXSIZE;
g_once_init_leave (&debug_transfer_enabled, enabled);
}
return debug_transfer_enabled == TRUE;
}
/**
* fpi_dbg_hex_dump_data:
* @buf: Bytes buffer to dump
+2
View File
@@ -124,3 +124,5 @@ void (fpi_dbg_hex_dump_bytes) (const gchar *log_domain,
#define fp_dbg_hex_dump_bytes(bytes) \
(fpi_dbg_hex_dump_bytes) \
(G_LOG_DOMAIN, (bytes))
gboolean fpi_log_is_debug_transfer_enabled (void);
+1 -1
View File
@@ -52,7 +52,7 @@ G_DEFINE_BOXED_TYPE (FpiSpiTransfer, fpi_spi_transfer, fpi_spi_transfer_ref, fpi
static void
log_transfer (FpiSpiTransfer *transfer, gboolean submit, GError *error)
{
if (g_getenv ("FP_DEBUG_TRANSFER"))
if (fpi_log_is_debug_transfer_enabled ())
{
if (submit)
{
+2 -1
View File
@@ -18,6 +18,7 @@
*/
#include "fpi-usb-transfer.h"
#include "fpi-log.h"
/**
* SECTION:fpi-usb-transfer
@@ -38,7 +39,7 @@ G_DEFINE_BOXED_TYPE (FpiUsbTransfer, fpi_usb_transfer, fpi_usb_transfer_ref, fpi
static void
log_transfer (FpiUsbTransfer *transfer, gboolean submit, GError *error)
{
if (g_getenv ("FP_DEBUG_TRANSFER"))
if (fpi_log_is_debug_transfer_enabled ())
{
if (!submit)
{