History log of /fuchsia/zircon/system/ulib/sync/completion.c
Revision Date Author Comments
# b33437b1 26-Jul-2018 Nick Maniscalco <maniscalco@google.com>

[zircon][kernel] Use proper time types and overflow-safe arithmetic

This change is preparation for converting zx_time_t and zx_duration_t
from unsigned to signed types (ZX-2100).

1. Fix several places where the wrong time type was used (e.g.
zx_time_t instead of zx_duration_t). Because these are simple typedefs
it's easy to use the wrong one. While it generally doesn't cause a
problem, using the wrong type can be misleading and lead to bugs like
passing a relative time when an absolute time is expected.

2. Update kernel/ and some other parts of zircon to use the new
overflow-safe arithmetic functions from zircon/time.h.

Performance: Ran "/pkgfs/packages/zircon_benchmarks/0/bin/app -p" on
NUC before and after this change. Differences were withing the noise,
some slightly faster, some slightly slower.

Test: CQ

ZX-2100 #comment cleanup before conversion

Change-Id: I75d074e5850ade5385decd9bbf330497bf7610e9


# babe1cf5 25-Jul-2018 Adam Barth <abarth@chromium.org>

[sync] Apply C API rubric to libsync

Test: No behavior change
Change-Id: I30a413f7fb5d3f4e741e5204532b82e73595c086


# 3319e1a1 25-Jul-2018 Adam Barth <abarth@chromium.org>

[sync] Break sync->fbl dependency

We can just use zx_futex_t instead of defining a new futex_t type.

Test: No behavior change.
Change-Id: I1d3a314af416a6c661f9c493447e7053ab916b00


# 9dd5b5f5 24-May-2018 Adam Barth <abarth@chromium.org>

[syscalls] Update parameter types and names

This CL updates the parameter types and names for a number of syscalls
to match the Zircon System API rubric. There's more work to do to make
all the syscalls conform to the rubric, but this change is a start.

Change-Id: I218ac5e7e0cbd80a8c69fef7891ad40b78b6b407


# 23bfe002 16-Apr-2018 George Kulakowski <kulakowski@google.com>

[sync] Add a deadline-based version of completion_wait

ZX-2004

Change-Id: I8a04d0820ff2d86292bdc010ac12c97d924759ff


# aeaa8e2f 23-Oct-2017 George Kulakowski <kulakowski@google.com>

[sync] Allow completion_t to be used from C++

Incidentally this renames the tests, since this thing is no longer part of the DDK.

Change-Id: Ic5e965568ac74fb2e111e5e8eb494d1d626c8124


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# d6396fa4 16-Jun-2017 George Kulakowski <kulakowski@google.com>

[ulib][status] Use the MX_OK and MX_ERR_* mx_status_t names

Change-Id: I3ba531de766b559b8922fb4910715c630efc9b82


# bbcb4c62 03-Apr-2017 Todd Eisenberger <teisenbe@google.com>

[time] Switch callers of syscalls with timeouts to use conversion function

This is in preparation for moving syscalls to absolute deadlines rather
than relative timeouts.

Change-Id: Ic85abbf76f34fbce7899c2505be840e3d3dcf7ff


# 8e9bf06c 17-Feb-2017 Sean Klein <smklein@google.com>

[udev][sync] Move completion to a small synchronization library

'completion.c' does not actually depend on any components in the
driver infrastructure (even though the reverse is generally true).

However, if a non-driver entity wants to use completion.c (and other
interesting synchronization primitives), then the use of these tools
should not necessarily be exclusive to the drivers. ulib/sync could
become the location for other synchronization primitives, such
as reader/writer locks.

MG-511 #in progress

Change-Id: Iaf6ad6b7b3d67c015e5dd9bf6677e5e7de6a8a73