This is a multi-part message in MIME format. --------------040809040408050600040901 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit sonald wrote: > the problem comes up when I traced the problem when using kcmshell4 clock > to set timezone, which is when you changed timezone second time, > the setting just lost. I found the real problem is that > KDirWatch loses watch on /etc/localtime. > > I can reproduce the watch lose very easily: > # inotifywait -m /etc/localtime > # zic -l Asia/Shanghai > # zic -l Asia/Muscat > # touch /etc/localtime > > After Change timezone to Muscat, subsequent changes to /etc/localtime > won't be watched. because KDirWatch use inotify (I'm using a linux distro), > which monitoring file with respect to inode , not dir entry. > zic relinked ( hardlink ) /etc/localtime, so inotify just told attrib > change ( st_nlink change ) of the original file. > > I post the patch a few months ago, and it seems that problem still exists > int KDE 4.3 RC, so I post here to see if it can make some help. > > Sian Cao > > > Hi, all I sent this patch for a long time, and no one review it yet. but this is really a problem. Sian Cao --------------040809040408050600040901 Content-Type: text/plain; name="kio-kdirwatch-relink.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kio-kdirwatch-relink.patch" SW5kZXg6IGtkaXJ3YXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2RpcndhdGNoLmNwcAko cmV2aXNpb24gMTAwNzA0MykKKysrIGtkaXJ3YXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAg LTQ5LDYgKzQ5LDcgQEAKIAogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8YXNz ZXJ0Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxRdENvcmUvUURpcj4KICNp bmNsdWRlIDxRdENvcmUvUUZpbGU+CiAjaW5jbHVkZSA8UXRDb3JlL1FTb2NrZXROb3RpZmll cj4KQEAgLTEzNCw2ICsxMzUsNyBAQAogICAgIHN0YXRFbnRyaWVzKCAwICksCiAgICAgbV9y ZWYoIDAgKSwKICAgICBkZWxheVJlbW92ZSggZmFsc2UgKSwKKwltX2RlbGF5ZWRSZWxpbmtl ZEVudHJ5KCBOVUxMICksCiAgICAgcmVzY2FuX2FsbCggZmFsc2UgKSwKICAgICByZXNjYW5f dGltZXIoKQogewpAQCAtNzM1LDYgKzczNyw3IEBACiAjZW5kaWYKICAgICBlLT5tX3N0YXR1 cyA9IE5vcm1hbDsKICAgICBlLT5tX25saW5rID0gc3RhdF9idWYuc3Rfbmxpbms7CisJZS0+ bV9pbm8gPSBzdGF0X2J1Zi5zdF9pbm87CiAgIH0KICAgZWxzZSB7CiAgICAgZS0+aXNEaXIg PSBpc0RpcjsKQEAgLTEwMzEsNiArMTAzNCw3IEBACiAjZW5kaWYKICAgICAgICAgZS0+bV9z dGF0dXMgPSBOb3JtYWw7CiAgICAgICAgIGUtPm1fbmxpbmsgPSBzdGF0X2J1Zi5zdF9ubGlu azsKKwkJZS0+bV9pbm8gPSBzdGF0X2J1Zi5zdF9pbm87CiAgICAgICB9CiAgICAgICBlbHNl IHsKICAgICAgICAgZS0+bV9jdGltZSA9IGludmFsaWRfY3RpbWU7CkBAIC0xMTM2LDkgKzEx NDAsMzMgQEAKICNlbmRpZgogICAgICAgZS0+bV9zdGF0dXMgPSBOb3JtYWw7CiAgICAgICBl LT5tX25saW5rID0gc3RhdF9idWYuc3Rfbmxpbms7CisJICBlLT5tX2lubyA9IHN0YXRfYnVm LnN0X2lubzsJICAKICAgICAgIHJldHVybiBDcmVhdGVkOwogICAgIH0KIAorCWlmICggZS0+ bV9jdGltZSAhPSBpbnZhbGlkX2N0aW1lICYmIHN0YXRfYnVmLnN0X2lubyAhPSBlLT5tX2lu byApIHsKKwkJa0RlYnVnKDcwMDEpIDw8ICJjaGVja2VkIGhhcmQgbGluayBjaGFuZ2UgZm9y ICIgPDwgZS0+cGF0aDsKKwkJaW50IG1hc2sgPSBJTl9ERUxFVEV8SU5fREVMRVRFX1NFTEZ8 SU5fQ1JFQVRFfElOX01PVkV8SU5fTU9WRV9TRUxGCisJCQl8SU5fRE9OVF9GT0xMT1d8SU5f TU9ESUZZfElOX0FUVFJJQjsKKwkgIAorCQlpbm90aWZ5X3JtX3dhdGNoIChtX2lub3RpZnlf ZmQsIGUtPndkKTsKKwkJaW50IHdkID0gaW5vdGlmeV9hZGRfd2F0Y2goIG1faW5vdGlmeV9m ZCwgUUZpbGU6OmVuY29kZU5hbWUoIGUtPnBhdGggKSwgbWFzayApOworCQlpZiAoIHdkID09 IC0xICkgeworCQkJa0RlYnVnKDcwMDEpIDw8ICJyZS13YXRjaCBmYWlsZWQgd2l0aCBlcnJu byAiIDw8IGVycm5vOworCQkJbV9kZWxheWVkUmVsaW5rZWRFbnRyeSA9IGU7CisJCQlRVGlt ZXI6OnNpbmdsZVNob3QoIDIwMCwgdGhpcywgU0xPVChzbG90UmV3YXRjaERlbGF5ZWQoKSkg KTsKKwkJCXJldHVybiBDaGFuZ2VkOworCQkKKwkJfSBlbHNlIHsKKwkJCWUtPndkID0gd2Q7 CisJCQllLT5tX2N0aW1lID0gc3RhdF9idWYuc3RfY3RpbWU7CisJCQllLT5tX25saW5rID0g c3RhdF9idWYuc3Rfbmxpbms7CisJCQllLT5tX2lubyA9IHN0YXRfYnVmLnN0X2lubzsKKwkJ CWtEZWJ1Zyg3MDAxKSA8PCAicmUtd2F0Y2ggZm9yICIgPDwgZS0+cGF0aCA8PCAiIGZpbmlz aGVkIjsKKwkJCXJldHVybiBDaGFuZ2VkOworCQl9CisJfQorCQogI2lmZGVmIFFfT1NfV0lO CiAgICAgc3RhdF9idWYuc3RfY3RpbWUgPSBzdGF0X2J1Zi5zdF9tdGltZTsKICNlbmRpZgpA QCAtMTIyOCw2ICsxMjU2LDM4IEBACiAgIH0KIH0KIAordm9pZCBLRGlyV2F0Y2hQcml2YXRl OjpzbG90UmV3YXRjaERlbGF5ZWQoKQoreworICBpZiAoIG1fZGVsYXllZFJlbGlua2VkRW50 cnkgKSB7CisJa0RlYnVnKDcwMDEpIDw8ICJ0cnkgcmUtd2F0Y2ggZm9yICIgPDwgbV9kZWxh eWVkUmVsaW5rZWRFbnRyeS0+cGF0aDsKKworCUtERV9zdHJ1Y3Rfc3RhdCBzdGF0X2J1ZjsK KwlRQnl0ZUFycmF5IHRwYXRoID0gUUZpbGU6OmVuY29kZU5hbWUobV9kZWxheWVkUmVsaW5r ZWRFbnRyeS0+cGF0aCk7CisJaW50IHJldCA9IEtERV9zdGF0KHRwYXRoLCAmc3RhdF9idWYp OworCWlmICggcmV0ICkgeworCQlpZiAoIGVycm5vID09IEVOT0VOVCApIHsKKwkJCWtEZWJ1 Zyg3MDAxKSA8PCBzdHJlcnJvcihlcnJubyk7CisJCX0KKwkgIHJldHVybjsKKwl9CisJCisJ aW50IG1hc2sgPSBJTl9ERUxFVEV8SU5fREVMRVRFX1NFTEZ8SU5fQ1JFQVRFfElOX01PVkV8 SU5fTU9WRV9TRUxGCisJICB8SU5fRE9OVF9GT0xMT1d8SU5fTU9ESUZZfElOX0FUVFJJQjsK Kwlpbm90aWZ5X3JtX3dhdGNoKCBtX2lub3RpZnlfZmQsIG1fZGVsYXllZFJlbGlua2VkRW50 cnktPndkICk7CisJcmV0ID0gaW5vdGlmeV9hZGRfd2F0Y2goIG1faW5vdGlmeV9mZCwgUUZp bGU6OmVuY29kZU5hbWUoIG1fZGVsYXllZFJlbGlua2VkRW50cnktPnBhdGggKSwKKwkJCQkJ CQkgICBtYXNrKTsKKwlpZiAoICFyZXQgKSB7CisJICBtX2RlbGF5ZWRSZWxpbmtlZEVudHJ5 LT53ZCA9IHJldDsKKwkgIGVtaXRFdmVudCggbV9kZWxheWVkUmVsaW5rZWRFbnRyeSwgQ2hh bmdlZCApOworCSAga0RlYnVnKDcwMDEpIDw8ICJyZS13YXRjaCBmb3IgIiA8PCBtX2RlbGF5 ZWRSZWxpbmtlZEVudHJ5LT5wYXRoIDw8ICIgc3VjY2Vzc2VkIjsKKwl9IGVsc2UgeworCSAg a0RlYnVnKDcwMDEpIDw8ICJyZS13YXRjaCBmb3IgIiA8PCBtX2RlbGF5ZWRSZWxpbmtlZEVu dHJ5LT5wYXRoIDw8ICIgZmFpbGVkIjsKKwl9CisJCisJbV9kZWxheWVkUmVsaW5rZWRFbnRy eSA9IE5VTEw7CisgIH0KK30KKwogLy8gUmVtb3ZlIGVudHJpZXMgd2hpY2ggd2VyZSBtYXJr ZWQgdG8gYmUgcmVtb3ZlZAogdm9pZCBLRGlyV2F0Y2hQcml2YXRlOjpzbG90UmVtb3ZlRGVs YXllZCgpCiB7CkBAIC0xNjQ1LDcgKzE3MDUsMjQgQEAKIAogdm9pZCBLRGlyV2F0Y2g6OmFk ZEZpbGUoIGNvbnN0IFFTdHJpbmcmIF9wYXRoICkKIHsKLSAgaWYgKGQpIGQtPmFkZEVudHJ5 KHRoaXMsIF9wYXRoLCAwLCBmYWxzZSk7CisgIGlmICggIWQgKQorCXJldHVybjsKKyAgCisg IC8vVE9ETzogZGV0ZWN0IGxpbmsgY2hhbmdlLCBpbm8gY2hhbmdlCisgIEtEaXJXYXRjaFBy aXZhdGU6OkVudHJ5KiBlID0gZC0+ZW50cnkoX3BhdGgpOworICBpZiAoIGUgKSB7CisJS0RF X3N0cnVjdF9zdGF0IGxzdGF0X2J1ZjsKKwlRQnl0ZUFycmF5IHRwYXRoIChRRmlsZTo6ZW5j b2RlTmFtZShfcGF0aCkpOworCWlmICggS0RFX2xzdGF0KHRwYXRoLCAmbHN0YXRfYnVmKSA9 PSAwICkgeworCSAgaWYgKCBTX0lTUkVHKGxzdGF0X2J1Zi5zdF9tb2RlKSAmJiBlLT5tX3N0 YXR1cyAhPSBLRGlyV2F0Y2hQcml2YXRlOjpOb25FeGlzdGVudCAKKwkJICAgJiYgbHN0YXRf YnVmLnN0X2lubyAhPSBlLT5tX2lubyApIHsKKwkJa0RlYnVnKDcwMDEpIDw8ICJkZXRlY3Rl ZCBhbiBleGlzdCBlbnRyeSB3aXRoIGRpZmZlcmVudCBpbm9kZSwgZGVsZXRlIHdhdGNoIGZp cnN0IjsKKwkJZC0+cmVtb3ZlRW50cnkodGhpcywgX3BhdGgsIDApOworCSAgfQorCX0KKyAg fQorCSAgCisgIGQtPmFkZEVudHJ5KHRoaXMsIF9wYXRoLCAwLCBmYWxzZSk7CiB9CiAKIFFE YXRlVGltZSBLRGlyV2F0Y2g6OmN0aW1lKCBjb25zdCBRU3RyaW5nICZfcGF0aCApIGNvbnN0 CkluZGV4OiBrZGlyd2F0Y2hfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtkaXJ3YXRjaF9wLmgJ KHJldmlzaW9uIDEwMDcwNDMpCisrKyBrZGlyd2F0Y2hfcC5oCSh3b3JraW5nIGNvcHkpCkBA IC0xMzYsNiArMTM2LDggQEAKICAgICB0aW1lX3QgbV9jdGltZTsKICAgICAvLyB0aGUgbGFz dCBvYnNlcnZlZCBsaW5rIGNvdW50CiAgICAgaW50IG1fbmxpbms7CisJLy8gbGFzdCBvYnNl cnZlZCBpbm9kZSAoIGNvbnNpZGVyaW5nIGhhcmQgbGluayBjaGFuZ2VzICkKKwlpbm9fdCBt X2lubzsKICAgICBlbnRyeVN0YXR1cyBtX3N0YXR1czsKICAgICBlbnRyeU1vZGUgbV9tb2Rl OwogICAgIGJvb2wgaXNEaXI7CkBAIC0yMDcsNyArMjA5LDggQEAKICAgdm9pZCBpbm90aWZ5 RXZlbnRSZWNlaXZlZCgpOyAvLyBmb3IgaW5vdGlmeQogICB2b2lkIHNsb3RSZW1vdmVEZWxh eWVkKCk7CiAgIHZvaWQgZnN3RXZlbnRSZWNlaXZlZChjb25zdCBRU3RyaW5nICZwYXRoKTsg IC8vIGZvciBRRmlsZVN5c3RlbVdhdGNoZXIKLQorICB2b2lkIHNsb3RSZXdhdGNoRGVsYXll ZCgpOworICAKIHB1YmxpYzoKICAgUVRpbWVyIHRpbWVyOwogICBFbnRyeU1hcCBtX21hcEVu dHJpZXM7CkBAIC0yMjMsNiArMjI2LDggQEAKICAgUVNldDxFbnRyeSAqPiByZW1vdmVMaXN0 OwogICBib29sIGRlbGF5UmVtb3ZlOwogCisgIEVudHJ5ICptX2RlbGF5ZWRSZWxpbmtlZEVu dHJ5OworICAKICAgYm9vbCByZXNjYW5fYWxsOwogICBRVGltZXIgcmVzY2FuX3RpbWVyOwog Cg== --------------040809040408050600040901--