Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions hidapi/hidapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,11 @@ extern "C" {
This callback may be called by an internal event thread and as such it is
recommended the callback do minimal processing before returning.

It is NOT safe to call hid_open/hid_open_path or any other global/non-device
functions from within this callback. If you need to open
or close a device in response to a hotplug event, queue the
device path and handle it on your own application thread.
Comment thread
Youw marked this conversation as resolved.

hidapi will call this function later, when a matching event had happened on
a matching device.

Expand All @@ -315,6 +320,8 @@ extern "C" {

@param callback_handle The hid_hotplug_callback_handle callback handle.
@param device The hid_device_info of device this event occurred on event that occurred.
The device pointer is only valid for the duration of the callback.
If you need the information later, copy the relevant fields before returning.
@param event Event that occurred.
@param user_data User data provided when this callback was registered.
(Optionally NULL).
Expand Down Expand Up @@ -358,6 +365,9 @@ extern "C" {

This function is safe to call from within a hotplug callback.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently, not really, here is one unresolved issue: #674 (comment)


It is safe to call this function on an already deregistered
callback handle - the call will be a no-op returning 0.

@ingroup API

@param callback_handle The handle of the callback to deregister.
Expand Down
Loading