| Revision: | 1.12 |
| Committed: | Sun May 25 21:15:44 2008 UTC (18 years, 4 months ago) by root |
| Branch: | MAIN |
| CVS Tags: | rel-2_82, rel-2_81, rel-2_80, rel-2_6, rel-2_7, rel-2_72, rel-2_73, rel-2_71, rel-2_76, rel-2_77, rel-2_74, rel-2_75, rel-2_56, rel-2_79, rel-2_90, rel-2_78, rel-2_61 |
| Changes since 1.11: | +25 -31 lines |
| Log Message: | *** empty log message *** |
| # | User | Rev | Content |
|---|---|---|---|
| 1 | root | 1.12 | #! perl # MANDATORY |
| 2 | root | 1.1 | |
| 3 | # this listens for new tcp connections and hands them over to the server core | ||
| 4 | # wether this being an extension introduces or reduces stability problems | ||
| 5 | # is unknown as of today. | ||
| 6 | |||
| 7 | use Socket; | ||
| 8 | root | 1.12 | use AnyEvent::Socket; |
| 9 | root | 1.1 | |
| 10 | root | 1.12 | our $BIND = $cf::CFG{bind_addresses} || [[undef, 13327]]; |
| 11 | |||
| 12 | for (@$BIND) { | ||
| 13 | my ($host, $port) = @$_; | ||
| 14 | warn "listening on $host:$port\n"; | ||
| 15 | |||
| 16 | tcp_server $host, $port, sub { | ||
| 17 | my ($fh, $host, $port) = @_ | ||
| 18 | or return; | ||
| 19 | |||
| 20 | my $fd = fileno $fh; | ||
| 21 | |||
| 22 | warn "new connection from [$host]:$port\n"; | ||
| 23 | |||
| 24 | # HACK to avoid blocking on common files on log-in. | ||
| 25 | # remove once async | ||
| 26 | cf::async {#d# | ||
| 27 | warn "HACK ext/tcp.ext: $cf::CONFDIR/$_\n" and Coro::AIO::aio_load "$cf::CONFDIR/$_", my $dummy for qw(rules news motd);#d# | ||
| 28 | warn "HACK ext/tcp.ext: $cf::LOCALDIR/crossfiremail\n" and Coro::AIO::aio_load "$cf::LOCALDIR/crossfiremail", my $dummy;#d# | ||
| 29 | cf::client::create $fd, $host; | ||
| 30 | undef $fh;#d# | ||
| 31 | };#d#d | ||
| 32 | }; | ||
| 33 | root | 1.1 | } |
| 34 |