aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-08-12 21:51:47 +0000
committerChristian Grothoff <christian@grothoff.org>2013-08-12 21:51:47 +0000
commit9569a609edc067b018be8182424e54de41df2fdc (patch)
tree95753a63f4cd9b71b87995d554e1632583e4284c
parent40f884cbb9c51975c1ea4a655c8c1813376ff788 (diff)
downloadlibmicrohttpd-9569a609edc067b018be8182424e54de41df2fdc.tar.gz
libmicrohttpd-9569a609edc067b018be8182424e54de41df2fdc.zip
-document select/shutdown issue on W32, move z/os documentation into manual
-rw-r--r--ChangeLog3
-rw-r--r--README21
-rw-r--r--doc/libmicrohttpd.texi38
3 files changed, 39 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index de94e98b..32e435ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
1Mon Aug 12 23:51:18 CEST 2013
2 Updated manual, documenting W32 select/shutdown issue. -CG
3
1Sat Aug 10 21:01:18 CEST 2013 4Sat Aug 10 21:01:18 CEST 2013
2 Trying to fix #2983 (untested). -CG 5 Trying to fix #2983 (untested). -CG
3 6
diff --git a/README b/README
index 0f5d3959..6d926916 100644
--- a/README
+++ b/README
@@ -139,26 +139,5 @@ In particular, we should write tests for:
139Missing documentation: 139Missing documentation:
140====================== 140======================
141 141
142- libmicrohttpd manual:
143 * document details on porting MHD (plibc, z/OS)
144- libmicrospdy manual: 142- libmicrospdy manual:
145 * missing entirely 143 * missing entirely
146
147
148Notes on compiling on z/OS:
149===========================
150
151After extracting the archive, run
152
153iconv -f UTF-8 -t IBM-1047 contrib/ascebc > /tmp/ascebc.sh
154chmod +x /tmp/ascebc.sh
155for n in `find * -type f`
156do
157 /tmp/ascebc.sh $n
158done
159
160to convert all source files to EBCDIC. Note that you must run
161"configure" from the directory where the configure script is
162located. Otherwise, configure will fail to find the
163"contrib/xcc" script (which is a wrapper around the z/OS c89
164compiler).
diff --git a/doc/libmicrohttpd.texi b/doc/libmicrohttpd.texi
index 30e0355d..3c5664c5 100644
--- a/doc/libmicrohttpd.texi
+++ b/doc/libmicrohttpd.texi
@@ -13,7 +13,7 @@ This manual is for GNU libmicrohttpd
13(version @value{VERSION}, @value{UPDATED}), a library for embedding 13(version @value{VERSION}, @value{UPDATED}), a library for embedding
14an HTTP(S) server into C applications. 14an HTTP(S) server into C applications.
15 15
16Copyright @copyright{} 2007--2012 Christian Grothoff 16Copyright @copyright{} 2007--2013 Christian Grothoff
17 17
18@quotation 18@quotation
19Permission is granted to copy, distribute and/or modify this document 19Permission is granted to copy, distribute and/or modify this document
@@ -267,9 +267,9 @@ specifies path to libgcrypt installation
267specifies path to libgnutls installation 267specifies path to libgnutls installation
268 268
269 269
270
271@end table 270@end table
272 271
272
273@section Including the microhttpd.h header 273@section Including the microhttpd.h header
274@cindex portability 274@cindex portability
275@cindex microhttpd.h 275@cindex microhttpd.h
@@ -358,6 +358,40 @@ to define both in "platform.h" if you need to change the definition
358for the specific platform. 358for the specific platform.
359 359
360 360
361@section Portability to W32
362
363On W32, GNUnet requires PlibC, a lightweight library to provide some
364more POSIX-like calls on W32. While PlibC takes care of most issues,
365it is unable to make @code{select} (or equivalent alternative socket
366calls) unblock when a socket is @code{shutdown}. This can be
367problematic if MHD is used in ``one thread per connection'' mode. In
368this case, an inactive TCP connection may block @code{MHD_stop_daemon}
369until the connection times out. You may be able to mitigate the issue
370by setting a reasonably low timeout, but in general we of course
371recommend migrating away from Windows. Using MHD with other types of
372event loops is unaffected by this issue.
373
374
375@section Portability to z/OS
376
377To compile MHD on z/OS, extract the archive and run
378
379@verbatim
380iconv -f UTF-8 -t IBM-1047 contrib/ascebc > /tmp/ascebc.sh
381chmod +x /tmp/ascebc.sh
382for n in `find * -type f`
383do
384 /tmp/ascebc.sh $n
385done
386@end verbatim
387to convert all source files to EBCDIC. Note that you must run
388@code{configure} from the directory where the configure script is
389located. Otherwise, configure will fail to find the
390@code{contrib/xcc} script (which is a wrapper around the z/OS c89
391compiler).
392
393
394
361@c ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 395@c ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
362 396
363@c ------------------------------------------------------------ 397@c ------------------------------------------------------------