-document select/shutdown issue on W32, move z/os documentation into manual

This commit is contained in:
Christian Grothoff
2013-08-12 21:51:47 +00:00
parent 40f884cbb9
commit 9569a609ed
3 changed files with 39 additions and 23 deletions
+3
View File
@@ -1,3 +1,6 @@
Mon Aug 12 23:51:18 CEST 2013
Updated manual, documenting W32 select/shutdown issue. -CG
Sat Aug 10 21:01:18 CEST 2013
Trying to fix #2983 (untested). -CG
-21
View File
@@ -139,26 +139,5 @@ In particular, we should write tests for:
Missing documentation:
======================
- libmicrohttpd manual:
* document details on porting MHD (plibc, z/OS)
- libmicrospdy manual:
* missing entirely
Notes on compiling on z/OS:
===========================
After extracting the archive, run
iconv -f UTF-8 -t IBM-1047 contrib/ascebc > /tmp/ascebc.sh
chmod +x /tmp/ascebc.sh
for n in `find * -type f`
do
/tmp/ascebc.sh $n
done
to convert all source files to EBCDIC. Note that you must run
"configure" from the directory where the configure script is
located. Otherwise, configure will fail to find the
"contrib/xcc" script (which is a wrapper around the z/OS c89
compiler).
+36 -2
View File
@@ -13,7 +13,7 @@ This manual is for GNU libmicrohttpd
(version @value{VERSION}, @value{UPDATED}), a library for embedding
an HTTP(S) server into C applications.
Copyright @copyright{} 2007--2012 Christian Grothoff
Copyright @copyright{} 2007--2013 Christian Grothoff
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -267,9 +267,9 @@ specifies path to libgcrypt installation
specifies path to libgnutls installation
@end table
@section Including the microhttpd.h header
@cindex portability
@cindex microhttpd.h
@@ -358,6 +358,40 @@ to define both in "platform.h" if you need to change the definition
for the specific platform.
@section Portability to W32
On W32, GNUnet requires PlibC, a lightweight library to provide some
more POSIX-like calls on W32. While PlibC takes care of most issues,
it is unable to make @code{select} (or equivalent alternative socket
calls) unblock when a socket is @code{shutdown}. This can be
problematic if MHD is used in ``one thread per connection'' mode. In
this case, an inactive TCP connection may block @code{MHD_stop_daemon}
until the connection times out. You may be able to mitigate the issue
by setting a reasonably low timeout, but in general we of course
recommend migrating away from Windows. Using MHD with other types of
event loops is unaffected by this issue.
@section Portability to z/OS
To compile MHD on z/OS, extract the archive and run
@verbatim
iconv -f UTF-8 -t IBM-1047 contrib/ascebc > /tmp/ascebc.sh
chmod +x /tmp/ascebc.sh
for n in `find * -type f`
do
/tmp/ascebc.sh $n
done
@end verbatim
to convert all source files to EBCDIC. Note that you must run
@code{configure} from the directory where the configure script is
located. Otherwise, configure will fail to find the
@code{contrib/xcc} script (which is a wrapper around the z/OS c89
compiler).
@c ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@c ------------------------------------------------------------