odyssey/src/mm_bind.c

24 lines
359 B
C
Raw Normal View History

2017-03-21 12:30:50 +00:00
/*
* machinarium.
*
* cooperative multitasking engine.
*/
#include <machinarium_private.h>
#include <machinarium.h>
2017-03-21 12:30:50 +00:00
MACHINE_API int
machine_bind(machine_io_t obj, struct sockaddr *sa)
{
mm_io_t *io = obj;
2017-03-29 11:58:27 +00:00
mm_io_set_errno(io, 0);
2017-03-21 12:30:50 +00:00
int rc;
rc = uv_tcp_bind(&io->handle, sa, 0);
2017-03-29 11:58:27 +00:00
if (rc < 0) {
mm_io_set_errno_uv(io, rc);
return -1;
}
2017-03-21 12:30:50 +00:00
return 0;
}