NAME Thrall - a simple PSGI/Plack HTTP server which uses threads SYNOPSIS $ plackup -s Thrall --port=80 [options] your-app.psgi DESCRIPTION Thrall is a standalone HTTP/1.0 server with keep-alive support. It uses threads instead pre-forking, so it works correctly on Windows. It is pure-Perl implementation which doesn't require any XS package. NOTES Thrall was started as a fork of Starlet server. It has almost the same code as Starlet and it was adapted to use threads instead fork(). SEE ALSO Starlet, Starman LIMITATIONS See threads and perlthrtut to read about limitations for PSGI applications started with Thrall and check if you encountered a known problem. Especially, PSGI applications should avoid: changing current working directory, catching signals, starting new processes. Environment variables might (Linux, Unix) or might not (Windows) be shared between threads. BUGS There is a problem with Perl threads implementation which occurs on Windows XP/Vista/7. Some requests can fail with message: failed to set socket to nonblocking mode:An operation was attempted on something that is not a socket. Perl on Windows 8 might works correctly. Also Cygwin version seems to be correct. This problem was fixed in Perl 5.18.2 and 5.19.5. See https://rt.perl.org/rt3/Public/Bug/Display.html?id=119003 for more information about this issue. Reporting If you find the bug or want to implement new features, please report it at https://github.com/dex4er/Thrall/issues The code repository is available at http://github.com/dex4er/Thrall AUTHOR Kazuho Oku miyagawa Piotr Roszatycki LICENSE Copyright (c) 2013 Piotr Roszatycki . This is free software; you can redistribute it and/or modify it under the same terms as perl itself. See http://dev.perl.org/licenses/artistic.html