diff --git a/src/common.h b/src/common.h index f9454cb..06c2e3e 100644 --- a/src/common.h +++ b/src/common.h @@ -164,6 +164,7 @@ typedef struct { void init_wakeup( wakeup_t *tmr, void (*cb)( void * ), void *aux ); void conf_wakeup( wakeup_t *tmr, int timeout ); void wipe_wakeup( wakeup_t *tmr ); +static INLINE int pending_wakeup( wakeup_t *tmr ) { return tmr->links.next != 0; } void main_loop( void ); diff --git a/src/drv_maildir.c b/src/drv_maildir.c index f6fa0c5..27073eb 100644 --- a/src/drv_maildir.c +++ b/src/drv_maildir.c @@ -529,7 +529,7 @@ maildir_uidval_lock( maildir_store_t *ctx ) #endif char buf[128]; - if (ctx->lcktmr.links.next) { + if (pending_wakeup( &ctx->lcktmr )) { /* The unlock timer is active, so we are obviously already locked. */ return DRV_OK; }