From: Date: July 3 2009 4:44pm Subject: bzr commit into mysql-5.1-telco-7.0 branch (jack:2942) Bug#45402 List-Archive: http://lists.mysql.com/commits/77914 X-Bug: 45402 Message-Id: <0KM700FFVNMY9200@mail-apac.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_b0rEnZGQvBQUpcka+bUIBQ)" --Boundary_(ID_b0rEnZGQvBQUpcka+bUIBQ) MIME-version: 1.0 Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///C:/w/repo/mysql-5.1-telco-7.0-bug45402/ based on revid:jack@stripped 2942 jack andrews 2009-07-03 Bug #45402 Win32AsyncFile::rmrfReq can run an infinite loop - fixed a bug: old behaviour is to return without error if the path doesn't exist. made it work like the original modified: storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp === modified file 'storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp' --- a/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp 2009-07-03 14:29:27 +0000 +++ b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp 2009-07-03 14:43:05 +0000 @@ -117,12 +117,12 @@ inline void AsyncFile::rmrfReq(Request *request, const char * path, bool removePath) { + struct stat statbuf; + if (stat(path,&statbuf)==-1 && errno==ENOENT) + return; if (!request->par.rmrf.directory) { // Remove file - struct stat statbuf; - if (stat(path,&statbuf)==-1 && errno==ENOENT) - return; if(ndb_remove_entry(path)) request->error = errno; return; --Boundary_(ID_b0rEnZGQvBQUpcka+bUIBQ) MIME-version: 1.0 Content-type: text/bzr-bundle; CHARSET=US-ASCII; name="bzr/jack@stripped" Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/jack@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: jack@stripped # target_branch: file:///C:/w/repo/mysql-5.1-telco-7.0-bug45402/ # testament_sha1: 77717652cd4d549f33ae1e34a2deeb18b733f33d # timestamp: 2009-07-03 16:44:46 +0200 # base_revision_id: jack@stripped # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWVXObngAAadfgEAxWef//3MB lIC////wUAQ87p4D0CLOzpCUQpiNJ6PVBtD0RPUzJNGjQDJpkHqDU1CNPNUGTT0T0agAAAAGgAlC amRMk09Jp6CPU0zUDQ0NAADQQ1TEJoPUNB6jTQAADQyPU0ACUUZMhpNoTI1G0aKbTFPKm2hEDQPK LUcLI4h1QkCGs92fZNAbCBrEdBKEm6DK7TcESBSIpAaARKMsA5QTh51hSWgAbZi8JfIEsLUtxRJl fa5LOlt189tuq9hPrFfpd54rCeUJna5rFJ6SUCKmOaavXo5LFuzh2Z4r+wIcTYdQgQSF5LVA5AXY 1zPSm/XBhAyRsUISiptcz2CZQvqzrvIhwJhGthsQzSiiM2rSPBlWoUEbAVCDIxaJOIMQEFI3RNol BGth1WlqMzFK6FPxdobYwYw4jRB5/ZTbxuRXG0JyctdKWWoI2fMVLhqgpyLwY8GkgUPgDiciffcY EIIlS0iEB3jqNcDI14PjJCloo0JZCJeMDTWIsgmafPt1dfTOlpSooodZf+w0zl5YJ4s+2bpziQNp eQGRVzx7YpqIFXyw5m1wNsENhKXYJ7Wn04OKypMCgqSnU4aJG0hWNC6WohJgVIfYwYSBuoEJaCYH CmNBibHPivhVFFKUtawgE3Cnod0aonqpyqaLoUXjhQqH6eniyjcbdjZWF1WNpRBXtMKqq8OdkvLM XDliXdtwJPfJFQixe7bV9erAgGXQ0nr8blRD0r8iszQlEs91LI3TSWc6hO5U8UUlG9oHU4xKZPh/ CghN8nBDoQLlH9aCU0mJMX0+B7sTXXrJFRDpJvnE9kQonqava7ubRhq3kUtHJJoEUj9BbytlvcI7 KszswN3EUtGB3DkJNyq8yoonWDhiELhGGBtIntniaj1z8LaZeKKh8U3t247DILi/LwR0DYqA+hGv PHfvTeT44Dado4UTMoHkW6g7MJlWdjEvQrrvJUGdEkm0BwqNEB6i0AsGk0omkTSOsTITo2A9+sSk S4ZCsjhih/KiqRkdteoG4Iv2prsoFDN4wCtvU7VeyiSP2fa5k3jEWoxr3iKiFPoG1CXh+ak8h7wN wXu5/WXndDEKEQvPzalJdlWYvbjJYPeVcpEcTog8zsI2E6u8J3DINGTkNbQtyhBUFTrqfnyaM1Gp xK1BLwFsY4FQoCWmlNjpGi1nSwEqQ1rUO44pQ+FAKNCwZgoxQkTVhWamPhYJ4BlpOkTY8S/dbylu VJduGifQhjYMs8ZsAl1jQepNDoDEyyx9x7xfrJrJiLVKyUBWoznepk1hMtefnJQC/CISWlKY7bGy rK+exxZrLiDTtkdYk7y7GNG2x05xyShfBVJVRtJoGGvhJyGfvIZsoRDBd+iIvbyIpp6X1gaDzf6G A3HESgKbw1/d14KmJ2JdKqswmAfgythJhe4oc8JoRH+LuSKcKEgq5zc8AA== --Boundary_(ID_b0rEnZGQvBQUpcka+bUIBQ)--