Browse Source

get rid of some unneccessary system calls...one socket and one close

master
Georg Hopp 14 years ago
parent
commit
e73c8d959d
  1. 4
      src/http/writer/write.c
  2. 10
      src/socket.c
  3. 6
      src/socket/accept.c

4
src/http/writer/write.c

@ -122,10 +122,6 @@ httpWriterWrite(void * _this, int fd)
break;
case HTTP_WRITER_DONE:
if (HTTP_MESSAGE_PIPED == this->current->type) {
close(this->current->handle);
}
this->state = HTTP_WRITER_GET;
memmove(respq->msgs,

10
src/socket.c

@ -35,9 +35,17 @@ socketCtor(void * _this, va_list * params)
{
Sock this = _this;
int reUse = 1; //! \todo make this configurable
int port;
this->log = va_arg(* params, Logger);
this->port = va_arg(* params, int);
port = va_arg(* params, int);
//! if port is -1 do not initialize the socket. (Used with accept)
if (-1 == port) {
return 0;
} else {
this->port = port;
}
//! Create socket for incoming connections
if (-1 == (this->handle = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))) {

6
src/socket/accept.c

@ -43,11 +43,7 @@ socketAccept(Sock this, char (*remoteAddr)[16])
* the data structure without creation of a socket at all.
* For now i simply close the socket here.... :D
*/
sock = new(Sock, this->log, this->port);
close(sock->handle);
/**
* \todo change port to remote port on success
*/
sock = new(Sock, this->log, -1);
// Wait for a client to connect
sock->handle = accept(this->handle, (struct sockaddr *) &(sock->addr), &len);

Loading…
Cancel
Save