Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3C07F55F.5B2E669D@ieee.org> Date: Fri, 30 Nov 2001 16:08:47 -0500 From: "Pierre A. Humblet" X-Mailer: Mozilla 4.73 [en] (WinNT; U) X-Accept-Language: en,pdf MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: More exim, and fcntl lock problems Content-Type: multipart/mixed; boundary="------------0F95EA807107958CA729C5D1" --------------0F95EA807107958CA729C5D1 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Coincidentally with Gerrit Haase in http://sources.redhat.com/ml/cygwin/2001-11/msg01465.html last weekend I also got to compile exim (a mail transfer agent) and qpopper (a pop server). Both compile fine with relatively minor changes. For exim I wrote a routine to discover the local interfaces and (instead of relying on bind) a simple synchronous stub resolver (that could perhaps later interface directly to the native caching resolver in Windows 2000 etc...). Contrary to Gerrit I didn't need to provide flock(). Exim works somewhat, e.g. it can send mail. That's where the bad news start, I tried Win98 and NT. 1) Under Win98 I hit issues that were traced to gdbm emulation of ndbm on FAT http://cygwin.com/ml/cygwin/2001-11/msg01793.html That looks hopeless to me. Please tell me I am wrong! 2) On WinNT, local deliveries fail on line 765 of transport.c while ((len = read(deliver_datafile, deliver_in_buffer, I reproduced the situation in the attached try.c A parent process opens and locks a file (using fcntl), and then forks a child. It turns out that the child cannot read the file. Is it a Cygwin bug (latest everything)? I also hit a couple of minor issues, e.g. pathnames starting with multiple / (fixed in os.c), and the fact that Windows pathnames can contain $ (unfortunately my home directory is //admin4/phumblet$). Exim tries to expand them, as sh would (no fix yet). I will gladly send my versions of os.c and os.h to willing experimenters. Pierre --------------0F95EA807107958CA729C5D1 Content-Type: application/x-unknown-content-type-c_auto_file; name="try.c" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="try.c" LyogU2tlbGV0b24gb2YgZXhpbSdzIGRlbGl2ZXJ5IGxvZ2ljLiANCiBQcm9ibGVtIHdpdGgg cmVhZCgpIG9uIGxpbmUgMzIgKi8gDQojaW5jbHVkZSA8c3lzL3N0YXQuaD4NCiNpbmNsdWRl IDxmY250bC5oPg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8ZXJybm8uaD4NCiNp bmNsdWRlIDxzaWduYWwuaD4NCg0KbWFpbigpDQp7DQoJaW50IGZkLCBwaWQsIGw7DQoJY2hh ciBidWZmZXJbMTAwXTsNCglzdHJ1Y3QgZmxvY2sgbG9ja19kYXRhOw0KDQoJLyogVGhlIHBh cmVudCBvcGVucyBhIGZpbGUsIHNldHMgY2xvc2Ugb24gZXhlYyBhbmQgbG9ja3MgaXQgKi8N CglmZCA9IG9wZW4oInRyeS5jIiwgT19SRFdSIHwgT19BUFBFTkQpOw0KCXByaW50Zigib3Bl bjogJWQgJWRcbiIsIGZkLCBlcnJubyk7DQoNCglsID0gZmNudGwoZmQsIEZfU0VURkQsIGZj bnRsKGZkLCBGX0dFVEZEKSB8IEZEX0NMT0VYRUMpOw0KCXByaW50ZigiZmNudGw6ICVkICVk XG4iLCBsLCBlcnJubyk7DQoNCglsb2NrX2RhdGEubF90eXBlID0gRl9XUkxDSzsNCglsb2Nr X2RhdGEubF93aGVuY2UgPSBsb2NrX2RhdGEubF9zdGFydCA9IGxvY2tfZGF0YS5sX2xlbiA9 IDA7DQoNCglsID0gZmNudGwoZmQsIEZfU0VUTEssICZsb2NrX2RhdGEpOw0KCXByaW50Zigi ZmNudGw6ICVkICVkXG4iLCBsLCBlcnJubyk7DQoNCglwaWQgPSBmb3JrKCk7DQoJaWYgKHBp ZCA9PSAwKSB7DQoJCXByaW50ZigiQ2hpbGRcbiIpOw0KCQlsID0gbHNlZWsoZmQsICA1LCBT RUVLX1NFVCk7DQoJCXByaW50ZigibHNlZWs6ICVkICVkXG4iLCBsLCBlcnJubyk7DQoJCWwg PSByZWFkKGZkLCBidWZmZXIsIDEwKTsgICAgICAgICAgICAvKiA8PT09ICovDQoJCXByaW50 ZigicmVhZDogJWQgJWRcbiIsIGwsIGVycm5vKTsNCgl9IA0KCWVsc2Ugew0KCQlzbGVlcCgx KTsNCgkJcHJpbnRmKCJQYXJlbnQgJWRcbiIsIHBpZCk7DQoJfQ0KfQ0KCQkNCg== --------------0F95EA807107958CA729C5D1 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --------------0F95EA807107958CA729C5D1--