diff options
| author | Michael Brown | 2013-11-01 02:56:33 +0100 |
|---|---|---|
| committer | Michael Brown | 2013-11-01 18:00:16 +0100 |
| commit | 92c56e129bae6dd054c89a6077009e25da5b7e29 (patch) | |
| tree | 3485ab2d93a8e2f184d1859a3a9aa76b27ffc40b /src/include | |
| parent | [monojob] Report ongoing job status as overall return status on timeout (diff) | |
| download | ipxe-92c56e129bae6dd054c89a6077009e25da5b7e29.tar.gz ipxe-92c56e129bae6dd054c89a6077009e25da5b7e29.tar.xz ipxe-92c56e129bae6dd054c89a6077009e25da5b7e29.zip | |
[cmdline] Rewrite "sync" command to use monojob_wait()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ipxe/pending.h | 16 | ||||
| -rw-r--r-- | src/include/usr/sync.h | 14 |
2 files changed, 26 insertions, 4 deletions
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 <ipxe/list.h> - /** 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 */ |
