History log of /fuchsia/zircon/system/utest/core/handle-wait/handle-wait.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


# c35c93b8 16-Mar-2018 Doug Evans <dje@google.com>

[utest][handle-wait] Reliably wait for event thread to be waiting

ZX-1836 #done

Change-Id: Id809d3aee3b63f0f549c43ab6f1f9867a5718efa


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

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 4b913ba9 10-Aug-2017 Mark Seaborn <mseaborn@google.com>

[unittest] Use ASSERT_NE()/EXPECT_NE() instead of ASSERT_NEQ()/EXPECT_NEQ()

This is to make the interface more consistent with gtest, which uses
the _NE suffix rather than _NEQ for "not equal".

Change-Id: Ic03fda7322ab79cbd806c8f849b6956d201c6d45


# bfe31ac2 26-Jul-2017 Brian Swetland <swetland@google.com>

[utest][handles] don't treat handles as signed

Otherwise we can't build when they become unsigned.

Change-Id: I9af3e25c9716a41985320016c5559c09d6c8e520


# 2915c67a 09-Jun-2017 George Kulakowski <kulakowski@google.com>

[utest][core] MX_ERR_-ify the core unit tests

Change-Id: Iebfbeba437831ad4b85d1b0bc6d6dc22bb721de9


# 0dd5a5da 11-Apr-2017 Andy Mutton <andymutton@google.com>

[magenta][sysgen] Make scalar OUTs returns instead

Change syscalls.sysgen to move scalar OUT params to the returns
list, instead of input args.

This clarifies the expectations of these parameters and allows us
to change the user-space signatures to more idiomatic
representations for any language.

It also makes the register-passing changes a little simpler.

Change-Id: Ia6f5f3e55516c85bb879d9e91af224ce26f0015f


# 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


# 5cc6b5bb 07-Apr-2017 Carlos Pizano <cpu@google.com>

[kernel][magenta] Remove mx_handle_cancel syscall

Superseeded by mx_port_cancel(), its other uses are
not that great.

Change-Id: I5dee60ffb6853ab09ac621d240772bb23cfbc71a


# f7c7cda5 14-Mar-2017 Brian Swetland <swetland@google.com>

[syscalls] rename object_wait_cancel to handle_cancel

1. This acts on handles, not the objects behind them

2. Operations canceled are not limited to just object_wait_*()

Change-Id: I6b116e966217972bc5d77c7e1f90e864ab2c6406


# 9f6eb0d0 03-Mar-2017 Carlos Pizano <cpu@google.com>

[kernel][magenta] Odds and ends for async wait

- Update the docs with the two new syscalls
- move the options param of cancel to the end
- add an libmx cancel call

Change-Id: Ib88312c4fd4bd1a7db4adb42830e0b634b792a59


# 47677741 01-Mar-2017 Carlos Pizano <cpu@google.com>

[kernel][magenta] Cancelation

new syscall: mx_object_wait_cancel()

Allows you to cancel both object_wait_ and object_async_wait
syscalls. The existing pattern of closing the waited on handle
is preserved but the error status that both cases returns is
changed from

ERR_HANDLE_CLOSED
to
ERR_OPERATION_CANCELED

The previous status is kept but deprecated. In a followup
CL the rest of the magenta callers will be converted and
in a further CL the fuchsia callers will be converted.

Change-Id: I0fbbe664e4ef9d798d2068230d40fb6a36750d02


# e55b92da 10-Feb-2017 Brian Swetland <swetland@google.com>

[syscalls] update callers to mx_handle_wait_*() and deprecate

Change-Id: I7b0516007b99d58aee906eac62358625100ee32e


# b50b93c3 03-Jan-2017 George Kulakowski <kulakowski@google.com>

[signals] Remove legacy signal names

Change-Id: I6d4543358a16d16b9b9028ede06af40a632ba31b


# 13a7ef1f 01-Nov-2016 Brian Swetland <swetland@google.com>

[syscalls] update mx_handle_duplicate() and mx_handle_replace()

Change-Id: Ie332f4a924311c0bf1f93031712853c33027c411


# 796bfaf8 31-Oct-2016 Brian Swetland <swetland@google.com>

[syscalls] update mx_handle_wait_one()

Change-Id: I03c03b0c02041e680e44930e4d8c22f380d26916


# f8359dc9 28-Oct-2016 George Kulakowski <kulakowski@google.com>

[utest][channel] msgpipe => channel in core utests

Change-Id: I6c50e0828fd905adaa75296952ae9caefaf88925


# 469bd241 27-Oct-2016 Brian Swetland <swetland@google.com>

[syscalls] update event_create()

Change-Id: Ib736156e938357066505865379a4438ab4768aec


# 9f3678de 20-Oct-2016 Roland McGrath <mcgrathr@google.com>

[ulib][unittest] Add printf format checking for unittest_printf*

This catches bugs in unittest_printf* calls like in *printf calls.
Several such bugs in tests are now fixed.

Change-Id: Id722fd9a2ba31547c298025eaf52fb56088466e9


# b721f372 15-Sep-2016 George Kulakowski <kulakowski@google.com>

[runtime][musl] Have libc handle thread return values, not runtime

This was originally in runtime, and entirely not moved up into libc when
some other things did. This is test by the existing c11-thread test.

Change-Id: If50a9ac28cf09a8a4eeeb1ada88fb38464fa3aa6


# 81974849 15-Sep-2016 Viet-Trung Luu <vtl@google.com>

[utest] Fix handle-wait-test: make it use C11 threads instead of tu_thread_create().

tu_thread_create doesn't set up TLS appropriately, so you can't, e.g.,
printf from the thread it creates.

MG-288 #comment One (handle-wait.c) down, N to go.

Change-Id: Ia102d796e08b331a0e2f5542fe28d0405d3e23c5


# 20cd8041 09-Sep-2016 Yvonne Yip <yky@google.com>

sync errors.md with fuchsia-types.def

ERR_NOT_ENOUGH_BUFFER -> ERR_BUFFER_TOO_SMALL
ERR_FLOW_CONTROL -> ERR_SHOULD_WAIT
ERR_NOT_READY -> ERR_UNAVAILABLE
ERR_NOT_AVAILABLE -> ERR_ALREADY_BOUND
ERR_I2C_NACK -> ERR_IO_REFUSED
ERR_CHECKSUM_FAIL -> ERR_IO_DATA_INTEGRITY

Add ERR_IO_DATA_LOSS
Remove ERR_CANCELLED

Change-Id: Ibe27bc5198cc4d83ed384bf2858cfca0a8694d4c


# 5f15f716 06-Sep-2016 John Grossman <johngro@google.com>

[magenta][bikeshed] Make code speak proper `merican

Normalize the spelling of the adjective (signaled), verb (signaling)
and subjective noun (signaler) form of Signal in the code base to the
American spelling (one L instead of two).

Change-Id: I33a699cdd7a46e8cf4fb463f46422fac2305a659


# dc1fd725 29-Aug-2016 Brian Swetland <swetland@google.com>

[magenta][syscalls] migrate all syscalls to the new names

If DEPCRECATE_COMPAT_SYSCALLS is defined, flag the compatibility
wrappers with the deprecated attribute.

Enable this in the Magenta build only for now.

Change-Id: I422b1294d9db2e56551eca65dede0e5d83f8b363


# d990083a 25-Aug-2016 John Grossman <johngro@google.com>

[system] Move system/* includes to magenta/* under global.

Change-Id: I9b8673a16162da3bd1328a2eae3fbd855f1a7730


# bea41c57 01-Aug-2016 Travis Geiselbrecht <travisg@google.com>

[kernel][magenta] switch thread/process creation syscalls to a two phase api

-In both thread and process creation apis, require user space create the
object first, then start it with additional args
-For threads stack allocation is also moved to user space
-Wire up the process/thread handles to be transferred through to new processes

Change-Id: I43d447c86af1ab3199d8dcf29ff4fe3a384b6e65


# 66a201f1 16-Aug-2016 Brian Swetland <swetland@frotz.net>

[system] align license and license banners with Fuchsia

This adjusts the Magenta userspace code to match the prevailing
license in Fuchsia (three-clause BSD), using the same banner
and license text.

Change-Id: I6b6d79435c5dbaa32027888874849e4f47aaa7be


# 39b3f217 19-Jul-2016 Ankur Mittal <anmittal@google.com>

[utest] Support categories

This will produce single binary from mxr tests and also seperate binary
for each test

Change-Id: I9345fbeab5751dda356cfd47a766c09957211923