-/* $Id: http.c,v 1.27 2007-04-16 09:03:25 adam Exp $
+/* $Id: http.c,v 1.31 2007-05-15 08:51:49 adam Exp $
Copyright (c) 2006-2007, Index Data.
This file is part of Pazpar2.
// We will add EVENT_OUTPUT below
p->iochan = iochan_create(sock, proxy_io, EVENT_INPUT);
iochan_setdata(p->iochan, p);
- p->iochan->next = channel_list;
- channel_list = p->iochan;
+ pazpar2_add_channel(p->iochan);
}
// Do _not_ modify Host: header, just checking it's existence
ch->iochan = c;
iochan_setdata(c, ch);
- c->next = channel_list;
- channel_list = c;
+ pazpar2_add_channel(c);
}
/* Create a http-channel listener, syntax [host:]port */
strncpy(hostname, addr, len);
hostname[len] = '\0';
- if (!(he = gethostbyname(hostname)))
- {
+ if (!(he = gethostbyname(hostname))){
yaz_log(YLOG_FATAL, "Unable to resolve '%s'", hostname);
exit(1);
}
abort();
if (bind(l, (struct sockaddr *) &myaddr, sizeof myaddr) < 0)
+ {
yaz_log(YLOG_FATAL|YLOG_ERRNO, "bind");
+ exit(1);
+ }
if (listen(l, SOMAXCONN) < 0)
+ {
yaz_log(YLOG_FATAL|YLOG_ERRNO, "listen");
+ exit(1);
+ }
c = iochan_create(l, http_accept, EVENT_INPUT | EVENT_EXCEPT);
- c->next = channel_list;
- channel_list = c;
+ pazpar2_add_channel(c);
}
void http_set_proxyaddr(char *host, char *base_url)