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_info
fp_warn fp_warn
fp_err fp_err
fpi_log_is_debug_transfer_enabled
BUG_ON BUG_ON
BUG BUG
</SECTION> </SECTION>
+21
View File
@@ -21,6 +21,27 @@
#include "fpi-log.h" #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: * fpi_dbg_hex_dump_data:
* @buf: Bytes buffer to dump * @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) \ #define fp_dbg_hex_dump_bytes(bytes) \
(fpi_dbg_hex_dump_bytes) \ (fpi_dbg_hex_dump_bytes) \
(G_LOG_DOMAIN, (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 static void
log_transfer (FpiSpiTransfer *transfer, gboolean submit, GError *error) log_transfer (FpiSpiTransfer *transfer, gboolean submit, GError *error)
{ {
if (g_getenv ("FP_DEBUG_TRANSFER")) if (fpi_log_is_debug_transfer_enabled ())
{ {
if (submit) if (submit)
{ {
+2 -1
View File
@@ -18,6 +18,7 @@
*/ */
#include "fpi-usb-transfer.h" #include "fpi-usb-transfer.h"
#include "fpi-log.h"
/** /**
* SECTION:fpi-usb-transfer * SECTION:fpi-usb-transfer
@@ -38,7 +39,7 @@ G_DEFINE_BOXED_TYPE (FpiUsbTransfer, fpi_usb_transfer, fpi_usb_transfer_ref, fpi
static void static void
log_transfer (FpiUsbTransfer *transfer, gboolean submit, GError *error) log_transfer (FpiUsbTransfer *transfer, gboolean submit, GError *error)
{ {
if (g_getenv ("FP_DEBUG_TRANSFER")) if (fpi_log_is_debug_transfer_enabled ())
{ {
if (!submit) if (!submit)
{ {