No.569 mhttpd |
発言者: 中島 発言日: 2002 08/27 21:43 |
CygwinDLL 1.3.12 で、下記で配布されている mhttpd が動かなくなっていました。 http://www.ops.dti.ne.jp/~cake-smd/wiki/MicroHttpdProject.html CygwinDLL 1.3.10 では、shutdown( s, 1 ); の追加だけで大丈夫でした。 とりあえず、accept に失敗しても、もう一回リトライするように書き換えて、 CygwinDLL 1.3.12 でも動くようになりましたが、ソケット周りで何か仕様が 変わったのでしょうか。 --- mhttpd.c~ 2001-03-01 00:01:14.000000000 +0900 +++ mhttpd.c 2002-08-27 21:23:13.000000000 +0900 @@ -261,8 +261,11 @@ for (;;) { dmsg( "now, wait for connection...\n" ); - if ( ( s = accept( sock, ( struct sockaddr * ) &from, &len ) ) < 0 ) - err_exit( "mhttpd_loop: accept" ); + if ( ( s = accept( sock, ( struct sockaddr * ) &from, &len ) ) < 0 ){ + if ( ( s = accept( sock, ( struct sockaddr * ) &from, &len ) ) < 0 ){ + err_exit( "mhttpd_loop: accept" ); + } + } dmsg( "connected.\n" ); |
▼関連発言 |