Introduce erl_drv_command_error() #6859
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
int erl_drv_command_error(ErlDrvPort port, char *error_reason)
Generate an
error
exception, with the reasonerror_reason
as an atom, in a call to theerlang:port_command/2
BIF or theerlang:port_command/3
BIF. The error can only be generated from the driversoutputv()
oroutput()
callbacks, which implements port command, when the port command has been initiated via one of the synchronousport_command()
BIFs. When the port command has been initiated by the asynchronousPort ! {Owner, {command, Data}}
construct, this call will fail and no exception will be generated.error_reason
needs to be a null terminated latin1 string. If the string is longer than 255 characters (excluding the null termination character), it will be truncated to 255 characters.Returns zero on success and a non-zero integer on failure.