* (C) 2005 Ian McDonald <imcdnzl@gmail.com>
*/
+#include <sys/types.h>
+#include <dirent.h>
+
+#include "para.h"
+#include "error.h"
+#include "afh.h"
#include "server.h"
#include "net.h"
#include "list.h"
#include "vss.h"
#include "send.h"
#include "dccp.h"
-#include "error.h"
#include "string.h"
#include "fd.h"
#include "close_on_fork.h"
dc = para_calloc(sizeof(struct dccp_client));
ret = para_accept(listen_fd, &dc->addr, sizeof(struct sockaddr_in));
if (ret < 0) {
- PARA_ERROR_LOG("%s", PARA_STRERROR(-ret));
+ PARA_ERROR_LOG("%s\n", PARA_STRERROR(-ret));
return;
}
PARA_NOTICE_LOG("connection from %s\n", inet_ntoa(dc->addr.sin_addr));
}
/*
- * ret: Negative on errors, zero if nothing was written and write would block,
- * number of bytes written else.
+ * ret: Negative on errors, zero if nothing was written and write returned
+ * EAGAIN, number of bytes written else.
*/
static int dccp_write(int fd, const char *buf, size_t len)
{
while ((qc = cq_peek(dc->cq))) {
char *buf;
size_t len;
- int ret = write_ok(dc->fd);
- if (ret <= 0)
- return ret? -E_WRITE_OK : 0;
+ int ret;
cq_get(qc, &buf, &len);
ret = dccp_write(dc->fd, buf, len);
if (ret < 0)
struct dccp_client *dc, *tmp;
int ret;
char *header_buf;
- unsigned header_len;
+ size_t header_len;
if (listen_fd < 0 || !len)
return;