From 92c56e129bae6dd054c89a6077009e25da5b7e29 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 1 Nov 2013 01:56:33 +0000 Subject: [cmdline] Rewrite "sync" command to use monojob_wait() Signed-off-by: Michael Brown --- src/include/ipxe/pending.h | 16 ++++++++++++---- src/include/usr/sync.h | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/include/usr/sync.h (limited to 'src/include') diff --git a/src/include/ipxe/pending.h b/src/include/ipxe/pending.h index 51afb4370..e6a369813 100644 --- a/src/include/ipxe/pending.h +++ b/src/include/ipxe/pending.h @@ -9,8 +9,6 @@ FILE_LICENCE ( GPL2_OR_LATER ); -#include - /** A pending operation */ struct pending_operation { /** Pending count */ @@ -21,14 +19,24 @@ struct pending_operation { * Check if an operation is pending * * @v pending Pending operation - * @v is_pending Operation is pending + * @ret is_pending Operation is pending */ static inline int is_pending ( struct pending_operation *pending ) { return ( pending->count != 0 ); } +extern int pending_total; + +/** + * Check if any operations are pending + * + * @ret have_pending Some operations are pending + */ +static inline int have_pending ( void ) { + return ( pending_total != 0 ); +} + extern void pending_get ( struct pending_operation *pending ); extern void pending_put ( struct pending_operation *pending ); -extern int pending_wait ( unsigned long timeout ); #endif /* _IPXE_PENDING_H */ diff --git a/src/include/usr/sync.h b/src/include/usr/sync.h new file mode 100644 index 000000000..0047d4ed9 --- /dev/null +++ b/src/include/usr/sync.h @@ -0,0 +1,14 @@ +#ifndef _USR_SYNC_H +#define _USR_SYNC_H + +/** @file + * + * Wait for pending operations to complete + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +extern int sync ( unsigned long timeout ); + +#endif /* _USR_SYNC_H */ -- cgit v1.2.3-55-g7522