Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remaining unbound functions #410

Open
28 of 49 tasks
squeek502 opened this issue Oct 13, 2019 · 5 comments
Open
28 of 49 tasks

Remaining unbound functions #410

squeek502 opened this issue Oct 13, 2019 · 5 comments
Labels

Comments

@squeek502
Copy link
Member

squeek502 commented Oct 13, 2019

Threading/synchronization

Ignoring these for now; we aren't binding any of them currently AFAIK so it'd probably be opening a can of worms.

  • uv_mutex_init
  • uv_mutex_init_recursive
  • uv_mutex_destroy
  • uv_mutex_lock
  • uv_mutex_trylock
  • uv_mutex_unlock
  • uv_rwlock_init
  • uv_rwlock_destroy
  • uv_rwlock_rdlock
  • uv_rwlock_tryrdlock
  • uv_rwlock_rdunlock
  • uv_rwlock_wrlock
  • uv_rwlock_trywrlock
  • uv_rwlock_wrunlock
  • uv_sem_init
  • uv_sem_destroy
  • uv_sem_post
  • uv_sem_wait
  • uv_sem_trywait
  • uv_cond_init
  • uv_cond_destroy
  • uv_cond_signal
  • uv_cond_broadcast
  • uv_barrier_init
  • uv_barrier_destroy
  • uv_barrier_wait
  • uv_cond_wait
  • uv_cond_timedwait
  • uv_once
  • uv_key_create
  • uv_key_delete
  • uv_key_get
  • uv_key_set
@squeek502 squeek502 mentioned this issue Oct 14, 2019
7 tasks
@SinisterRectus
Copy link
Member

We could probably deprecate tcp_write_queue_size and getpid if they have libuv versions.

lchown needs implementing.

squeek502 added a commit to squeek502/luv that referenced this issue Oct 14, 2019
@squeek502
Copy link
Member Author

What should be the process for deprecation?

squeek502 added a commit to squeek502/luv that referenced this issue Oct 14, 2019
@SinisterRectus
Copy link
Member

I would just leave a comment in the code and document that it should not be used, or just not document it at all. We can't remove anything without a major version bump.

@squeek502
Copy link
Member Author

Added to the OP: an autogenerated a list of all functions defined in uv.h that match the pattern UV_EXTERN return_type uv_function_name() that have no occurrences in any of Luv's C files. It's bigger than I was expecting, and it's likely that we don't really want to bind them all. Many have to do with threading/synchronization.

@zhaozg
Copy link
Member

zhaozg commented Oct 14, 2019

Brave man

squeek502 added a commit that referenced this issue Oct 14, 2019
squeek502 added a commit that referenced this issue Oct 14, 2019
squeek502 added a commit that referenced this issue Nov 3, 2019
- Adds a 'Check' stage to the CI that runs before the general 'Test' stage
- Adds Valgrind check
- Adds LSAN/ASAN/UBSAN check
- Adds a "binding coverage" check script to catch any unbound functions when we update to new Libuv versions. Added the unbound functions in #410 as exceptions for now; they should be removed from the $skipped array as they are resolved.
- Deprecated test-leaks.lua and moved it to manual-test-leaks.lua since Valgrind/ASAN is much better at detecting leaks. This has a side benefit of speeding up our test suite a bit.
- Closes #395, #428, #429
squeek502 added a commit to squeek502/luv that referenced this issue May 11, 2020
- Allows the interface argument of udp_set_membership to be nil (meaning a NULL const char* passed to uv_udp_set_membership). This was needed to be able to port the libuv multicast join tests
- Adds a binding for udp_set_source_membership (contributes towards luvit#410)
- Ports the test-udp-multicast-join and test-udp-multicast-join6 tests from libuv
squeek502 added a commit to squeek502/luv that referenced this issue May 11, 2020
- Allows the interface argument of udp_set_membership to be nil (meaning a NULL const char* passed to uv_udp_set_membership). This was needed to be able to port the libuv multicast join tests
- Adds a binding for udp_set_source_membership (contributes towards luvit#410)
- Ports the test-udp-multicast-join and test-udp-multicast-join6 tests from libuv
squeek502 added a commit to squeek502/luv that referenced this issue May 11, 2020
squeek502 added a commit to squeek502/luv that referenced this issue May 12, 2020
squeek502 added a commit to squeek502/luv that referenced this issue May 12, 2020
Provides the functionality of both uv_handle_get_type and uv_handle_type_name in one function. Contributes towards luvit#410
squeek502 added a commit to squeek502/luv that referenced this issue May 12, 2020
Provides the functionality of both uv_req_get_type and uv_req_type_name in one function. Contributes towards luvit#410

Also adds method form of uv.cancel: req:cancel()
squeek502 added a commit to squeek502/luv that referenced this issue May 12, 2020
Contributes towards luvit#410, implements luvit#103
squeek502 added a commit to squeek502/luv that referenced this issue May 12, 2020
Contributes towards luvit#410, implements luvit#103
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants