X-Spam-Check-By: sourceware.org Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C7BFD3.640C1BF7" Subject: RE: Interference between instances on MS-Windows Date: Fri, 6 Jul 2007 09:41:43 -0400 Message-ID: In-Reply-To: <015001c7bf1b$ecb4e9d0$2e08a8c0@CAM.ARTIMI.COM> References: <20070705145916 DOT GA27040 AT ednor> <015001c7bf1b$ecb4e9d0$2e08a8c0 AT CAM DOT ARTIMI DOT COM> From: "Bob McConnell" To: X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com ------_=_NextPart_001_01C7BFD3.640C1BF7 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: cygwin-owner AT cygwin DOT com=20 > [mailto:cygwin-owner AT cygwin DOT com] On Behalf Of Dave Korn > Sent: Thursday, July 05, 2007 11:48 AM > To: cygwin AT cygwin DOT com > Subject: RE: Interference between instances on MS-Windows >=20 > On 05 July 2007 16:33, Bob McConnell wrote: >=20 >=20 > > If I read this right, you are saying there are no reported=20 > conflicts in > > pthread resources between multiple processes. That is all I=20 > wanted to > > know. I don't like to waste time diagnosing known problems=20 > and then be > > told much later that there is an easy workaround. > >=20 > > I wasn't asking anyone to debug either my code or Cygwin. All I was > > asking is if there are any known threading issues in this=20 > situation. I > > have no idea how you implemented pthreads, nor do I care.=20 > Just knowing > > that this may be covering new ground is adequate. >=20 > Well yeh, but there might be /unknown/ problems in the=20 > pthreads code, which > we'd love to fix if we knew they were there. Silly me, it looks like the sample code I found from a Google search will do nicely as a test case. =46rom my own tests, I found that if I eliminate the message queue and simply sleep more than enough time to get the ACK from the host, two instances would run in the same time as a single instance. When I use the queue, two instances take twice as long. Sometime this morning, the light bulb came on. I added an elapsed time calculation to the example I copied the queue from and increased the iteration count by an order of magnitude to make it run long enough to make a difference. A single instance will complete in 18 seconds. Two instances take 36 seconds. (Actually, one falls somewhere in between, but the other always takes 36.) I have attached that code with the timers. Compile command: gcc -o ex2 ex2b.c -Wall System: CYGWIN_NT-5.0 1.5.24(0.156/4/2) 2007-01-31 10:57 Win2K SP4 P4 3.0GHz, 1 GB RAM Any suggestions would be appreciated. Bob McConnell ------_=_NextPart_001_01C7BFD3.640C1BF7 Content-Type: application/octet-stream; name="ex2b.c" Content-Transfer-Encoding: base64 Content-Description: ex2b.c Content-Disposition: attachment; filename="ex2b.c" LyogVGhlIGNsYXNzaWMgcHJvZHVjZXItY29uc3VtZXIgZXhhbXBsZS4KICAg SWxsdXN0cmF0ZXMgbXV0ZXhlcyBhbmQgY29uZGl0aW9ucy4KICAgQWxsIGlu dGVnZXJzIGJldHdlZW4gMCBhbmQgOTk5OSBzaG91bGQgYmUgcHJpbnRlZCBl eGFjdGx5IHR3aWNlLAogICBvbmNlIHRvIHRoZSByaWdodCBvZiB0aGUgYXJy b3cgYW5kIG9uY2UgdG8gdGhlIGxlZnQuICovCgojaW5jbHVkZSA8c3RkaW8u aD4KI2luY2x1ZGUgInB0aHJlYWQuaCIKI2luY2x1ZGUgPHRpbWUuaD4KI2lu Y2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIEJVRkZFUl9TSVpFIDE2CgovKiBD aXJjdWxhciBidWZmZXIgb2YgaW50ZWdlcnMuICovCgpzdHJ1Y3QgcHJvZGNv bnMgewogIGludCBidWZmZXJbQlVGRkVSX1NJWkVdOyAgICAgIC8qIHRoZSBh Y3R1YWwgZGF0YSAqLwogIHB0aHJlYWRfbXV0ZXhfdCBsb2NrOyAgICAgICAg IC8qIG11dGV4IGVuc3VyaW5nIGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gYnVmZmVy ICovCiAgaW50IHJlYWRwb3MsIHdyaXRlcG9zOyAgICAgICAgLyogcG9zaXRp b25zIGZvciByZWFkaW5nIGFuZCB3cml0aW5nICovCiAgcHRocmVhZF9jb25k X3Qgbm90ZW1wdHk7ICAgICAgLyogc2lnbmFsZWQgd2hlbiBidWZmZXIgaXMg bm90IGVtcHR5ICovCiAgcHRocmVhZF9jb25kX3Qgbm90ZnVsbDsgICAgICAg Lyogc2lnbmFsZWQgd2hlbiBidWZmZXIgaXMgbm90IGZ1bGwgKi8KfTsKCi8q IEluaXRpYWxpemUgYSBidWZmZXIgKi8KCnZvaWQgaW5pdChzdHJ1Y3QgcHJv ZGNvbnMgKiBiKQp7CiAgcHRocmVhZF9tdXRleF9pbml0KCZiLT5sb2NrLCBO VUxMKTsKICBwdGhyZWFkX2NvbmRfaW5pdCgmYi0+bm90ZW1wdHksIE5VTEwp OwogIHB0aHJlYWRfY29uZF9pbml0KCZiLT5ub3RmdWxsLCBOVUxMKTsKICBi LT5yZWFkcG9zID0gMDsKICBiLT53cml0ZXBvcyA9IDA7Cn0KCi8qIFN0b3Jl IGFuIGludGVnZXIgaW4gdGhlIGJ1ZmZlciAqLwoKdm9pZCBwdXQoc3RydWN0 IHByb2Rjb25zICogYiwgaW50IGRhdGEpCnsKICBwdGhyZWFkX211dGV4X2xv Y2soJmItPmxvY2spOwogIC8qIFdhaXQgdW50aWwgYnVmZmVyIGlzIG5vdCBm dWxsICovCiAgd2hpbGUgKChiLT53cml0ZXBvcyArIDEpICUgQlVGRkVSX1NJ WkUgPT0gYi0+cmVhZHBvcykgewogICAgcHRocmVhZF9jb25kX3dhaXQoJmIt Pm5vdGZ1bGwsICZiLT5sb2NrKTsKICAgIC8qIHB0aHJlYWRfY29uZF93YWl0 IHJlYWNxdWlyZWQgYi0+bG9jayBiZWZvcmUgcmV0dXJuaW5nICovCiAgfQog IC8qIFdyaXRlIHRoZSBkYXRhIGFuZCBhZHZhbmNlIHdyaXRlIHBvaW50ZXIg Ki8KICBiLT5idWZmZXJbYi0+d3JpdGVwb3NdID0gZGF0YTsKICBiLT53cml0 ZXBvcysrOwogIGlmIChiLT53cml0ZXBvcyA+PSBCVUZGRVJfU0laRSkgYi0+ d3JpdGVwb3MgPSAwOwogIC8qIFNpZ25hbCB0aGF0IHRoZSBidWZmZXIgaXMg bm93IG5vdCBlbXB0eSAqLwogIHB0aHJlYWRfY29uZF9zaWduYWwoJmItPm5v dGVtcHR5KTsKICBwdGhyZWFkX211dGV4X3VubG9jaygmYi0+bG9jayk7Cn0K Ci8qIFJlYWQgYW5kIHJlbW92ZSBhbiBpbnRlZ2VyIGZyb20gdGhlIGJ1ZmZl ciAqLwoKaW50IGdldChzdHJ1Y3QgcHJvZGNvbnMgKiBiKQp7CiAgaW50IGRh dGE7CiAgcHRocmVhZF9tdXRleF9sb2NrKCZiLT5sb2NrKTsKICAvKiBXYWl0 IHVudGlsIGJ1ZmZlciBpcyBub3QgZW1wdHkgKi8KICB3aGlsZSAoYi0+d3Jp dGVwb3MgPT0gYi0+cmVhZHBvcykgewogICAgcHRocmVhZF9jb25kX3dhaXQo JmItPm5vdGVtcHR5LCAmYi0+bG9jayk7CiAgfQogIC8qIFJlYWQgdGhlIGRh dGEgYW5kIGFkdmFuY2UgcmVhZCBwb2ludGVyICovCiAgZGF0YSA9IGItPmJ1 ZmZlcltiLT5yZWFkcG9zXTsKICBiLT5yZWFkcG9zKys7CiAgaWYgKGItPnJl YWRwb3MgPj0gQlVGRkVSX1NJWkUpIGItPnJlYWRwb3MgPSAwOwogIC8qIFNp Z25hbCB0aGF0IHRoZSBidWZmZXIgaXMgbm93IG5vdCBmdWxsICovCiAgcHRo cmVhZF9jb25kX3NpZ25hbCgmYi0+bm90ZnVsbCk7CiAgcHRocmVhZF9tdXRl eF91bmxvY2soJmItPmxvY2spOwogIHJldHVybiBkYXRhOwp9CgovKiBBIHRl c3QgcHJvZ3JhbTogb25lIHRocmVhZCBpbnNlcnRzIGludGVnZXJzIGZyb20g MSB0byAxMDAwMCwKICAgdGhlIG90aGVyIHJlYWRzIHRoZW0gYW5kIHByaW50 cyB0aGVtLiAqLwoKI2RlZmluZSBPVkVSICgtMSkKCnN0cnVjdCBwcm9kY29u cyBidWZmZXI7Cgp2b2lkICogcHJvZHVjZXIodm9pZCAqIGRhdGEpCnsKICBp bnQgbjsKICBmb3IgKG4gPSAwOyBuIDwgMTAwMDAwOyBuKyspIHsKICAgIHBy aW50ZigiJWQgLS0tPlxuIiwgbik7CiAgICBwdXQoJmJ1ZmZlciwgbik7CiAg fQogIHB1dCgmYnVmZmVyLCBPVkVSKTsKICByZXR1cm4gTlVMTDsKfQoKdm9p ZCAqIGNvbnN1bWVyKHZvaWQgKiBkYXRhKQp7CiAgaW50IGQ7CiAgd2hpbGUg KDEpIHsKICAgIGQgPSBnZXQoJmJ1ZmZlcik7CiAgICBpZiAoZCA9PSBPVkVS KSBicmVhazsKICAgIHByaW50ZigiLS0tPiAlZFxuIiwgZCk7CiAgfQogIHJl dHVybiBOVUxMOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgcHRocmVhZF90IHRo X2EsIHRoX2I7CiAgdm9pZCAqIHJldHZhbDsKICB0aW1lX3Qgc3RhcnQ7CiAg dGltZV90IGVuZDsKCiAgaW5pdCgmYnVmZmVyKTsKICB0aW1lICgmc3RhcnQp OwogIC8qIENyZWF0ZSB0aGUgdGhyZWFkcyAqLwogIHB0aHJlYWRfY3JlYXRl KCZ0aF9hLCBOVUxMLCBwcm9kdWNlciwgMCk7CiAgcHRocmVhZF9jcmVhdGUo JnRoX2IsIE5VTEwsIGNvbnN1bWVyLCAwKTsKICAvKiBXYWl0IHVudGlsIHBy b2R1Y2VyIGFuZCBjb25zdW1lciBmaW5pc2guICovCiAgcHRocmVhZF9qb2lu KHRoX2EsICZyZXR2YWwpOwogIHB0aHJlYWRfam9pbih0aF9iLCAmcmV0dmFs KTsKICB0aW1lICgmZW5kKTsKCXByaW50ZiAoIkVsYXBzZWQgdGltZTogJWQu XG4iLCAoaW50KWVuZCAtIHN0YXJ0KTsKICByZXR1cm4gMDsKfQo= ------_=_NextPart_001_01C7BFD3.640C1BF7 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------_=_NextPart_001_01C7BFD3.640C1BF7--