8 bool dragonnet_send_raw(DragonnetPeer *p, bool submit, const void *buf, size_t n)
10 ssize_t len = send(p->sock, buf, n, MSG_NOSIGNAL | (submit ? 0 : MSG_MORE));
13 if (errno == ECONNRESET || errno == EPIPE || errno == ETIMEDOUT) {
14 shutdown(p->sock, SHUT_RDWR);
15 pthread_mutex_unlock(&p->mtx);
24 pthread_mutex_unlock(&p->mtx);