Date: Tue, 18 Mar 2014 00:23:19 +0100 From: Mariusz Zaborski <oshogbo@FreeBSD.org> To: freebsd-current@freebsd.org, freebsd-arch@freebsd.org Cc: jilles@freebsd.org Subject: Hello fdclose Message-ID: <CAGOYWV80vTTQbvSjvNa6XBzBiKy%2BjnGantkUH_RO=8prxoHmyQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--20cf3042705a7d7ed004f4d5b4f2 Content-Type: text/plain; charset=ISO-8859-1 Hi, After our previous discuss [1] I prepare fdclosedir(3) function which was committed by Pawel (cc'ed) in commit r254499. A while ago I also prepare the fdclose function. Unfortunately, this new function is a little bit more tricky then previous one. Can I ask you for a review of this patch? Thanks, Mariusz [1] http://lists.freebsd.org/pipermail/freebsd-arch/2013-August/014688.html --20cf3042705a7d7ed004f4d5b4f2 Content-Type: text/x-patch; charset=US-ASCII; name="fdclose.patch" Content-Disposition: attachment; filename="fdclose.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hswdobnv0 LS0tIC8vZGVwb3QvdXNlci9vc2hvZ2JvL2NhcHNpY3VtL2luY2x1ZGUvc3RkaW8uaAkyMDEzLTA2 LTI4IDA4OjUxOjI4LjAwMDAwMDAwMCAwMDAwCisrKyAvaG9tZS9vc2hvZ2JvL3A0L2NhcHNpY3Vt L2luY2x1ZGUvc3RkaW8uaAkyMDEzLTA2LTI4IDA4OjUxOjI4LjAwMDAwMDAwMCAwMDAwCkBAIC0z OTYsNiArMzk2LDcgQEAKIGludAkgYXNwcmludGYoY2hhciAqKiwgY29uc3QgY2hhciAqLCAuLi4p IF9fcHJpbnRmbGlrZSgyLCAzKTsKIGNoYXIJKmN0ZXJtaWRfcihjaGFyICopOwogdm9pZAkgZmNs b3NlYWxsKHZvaWQpOworaW50CSBmZGNsb3NlKEZJTEUgKik7CiBjaGFyCSpmZ2V0bG4oRklMRSAq LCBzaXplX3QgKik7CiBjb25zdCBjaGFyICpmbXRjaGVjayhjb25zdCBjaGFyICosIGNvbnN0IGNo YXIgKikgX19mb3JtYXRfYXJnKDIpOwogaW50CSBmcHVyZ2UoRklMRSAqKTsKLS0tIC8vZGVwb3Qv dXNlci9vc2hvZ2JvL2NhcHNpY3VtL2xpYi9saWJjL3N0ZGlvL1N5bWJvbC5tYXAJMjAxMy0wNi0y OCAwODo1MToyOC4wMDAwMDAwMDAgMDAwMAorKysgL2hvbWUvb3Nob2diby9wNC9jYXBzaWN1bS9s aWIvbGliYy9zdGRpby9TeW1ib2wubWFwCTIwMTMtMDYtMjggMDg6NTE6MjguMDAwMDAwMDAwIDAw MDAKQEAgLTE1Niw2ICsxNTYsNyBAQAogCXB1dHdjX2w7CiAJcHV0d2NoYXJfbDsKIAlmbWVtb3Bl bjsKKwlmZGNsb3NlOwogCW9wZW5fbWVtc3RyZWFtOwogCW9wZW5fd21lbXN0cmVhbTsKIH07Ci0t LSAvL2RlcG90L3VzZXIvb3Nob2diby9jYXBzaWN1bS9saWIvbGliYy9zdGRpby9mY2xvc2UuMwky MDEzLTA2LTI4IDA4OjUxOjI4LjAwMDAwMDAwMCAwMDAwCisrKyAvaG9tZS9vc2hvZ2JvL3A0L2Nh cHNpY3VtL2xpYi9saWJjL3N0ZGlvL2ZjbG9zZS4zCTIwMTMtMDYtMjggMDg6NTE6MjguMDAwMDAw MDAwIDAwMDAKQEAgLTEsNSArMSw2IEBACi0uXCIgQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkxLCAx OTkzCi0uXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFs bCByaWdodHMgcmVzZXJ2ZWQuCisuXCIgQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkxLCAxOTkzIFRo ZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisuXCIgQ29weXJpZ2h0 IChjKSAyMDE0IE1hcml1c3ogWmFib3Jza2kgPG9zaG9nYm9ARnJlZUJTRC5vcmc+CisuXCIgQWxs IHJpZ2h0cyByZXNlcnZlZC4KIC5cIgogLlwiIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29m dHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKIC5cIiBDaHJpcyBUb3JlayBhbmQgdGhl IEFtZXJpY2FuIE5hdGlvbmFsIFN0YW5kYXJkcyBDb21taXR0ZWUgWDMsCkBAIC0zMiwxMSArMzMs MTIgQEAKIC5cIiAgICAgQCgjKWZjbG9zZS4zCTguMSAoQmVya2VsZXkpIDYvNC85MwogLlwiICRG cmVlQlNEOiBoZWFkL2xpYi9saWJjL3N0ZGlvL2ZjbG9zZS4zIDE2NTkwMyAyMDA3LTAxLTA5IDAw OjI4OjE2WiBpbXAgJAogLlwiCi0uRGQgQXByaWwgMjIsIDIwMDYKKy5EZCBNYXJjaCAxNywgMjAx NAogLkR0IEZDTE9TRSAzCiAuT3MKIC5TaCBOQU1FCiAuTm0gZmNsb3NlICwKKy5ObSBmZGNsb3Nl ICwKIC5ObSBmY2xvc2VhbGwKIC5OZCBjbG9zZSBhIHN0cmVhbQogLlNoIExJQlJBUlkKQEAgLTQ1 LDYgKzQ3LDggQEAKIC5JbiBzdGRpby5oCiAuRnQgaW50CiAuRm4gZmNsb3NlICJGSUxFICpzdHJl YW0iCisuRnQgaW50CisuRm4gZmRjbG9zZSAiRklMRSAqc3RyZWFtIgogLkZ0IHZvaWQKIC5GbiBm Y2xvc2VhbGwgdm9pZAogLlNoIERFU0NSSVBUSU9OCkBAIC01OSwyMiArNjMsNjQgQEAKIC5YciBm Zmx1c2ggMyAuCiAuUHAKIFRoZQorLkZuIGZkY2xvc2UKK2Z1bmN0aW9uIGlzIGVxdWl2YWxlbnQg dG8gdGhlCisuRm4gZmNsb3NlCitmdW5jdGlvbiBleGNlcHQgdGhhdCB0aGlzIGZ1bmN0aW9uIHJl dHVybnMgZmlsZSBkZXNjcmlwdG9yIGluc3RlYWQgb2YKK2Nsb3NpbmcgaXQuCisuUHAKK1RoZQog LkZuIGZjbG9zZWFsbAogZnVuY3Rpb24gY2FsbHMKIC5GbiBmY2xvc2UKIG9uIGFsbCBvcGVuIHN0 cmVhbXMuCiAuU2ggUkVUVVJOIFZBTFVFUwotVXBvbiBzdWNjZXNzZnVsIGNvbXBsZXRpb24gMCBp cyByZXR1cm5lZC4KK1RoZQorLkZuIGZjbG9zZWFsbAorZnVuY3Rpb24gcmV0dXJuIG5vIHZhbHVl LgorLlBwCitVcG9uIHN1Y2Nlc3NmdWwgY29tcGxldGlvbgorLkZuIGZjbG9zZQorcmV0dXJuIDAu CitPdGhlcndpc2UsCisuRHYgRU9GCitpcyByZXR1cm5lZCBhbmQgdGhlIGdsb2JhbCB2YXJpYWJs ZQorLlZhIGVycm5vCitpcyBzZXQgdG8gaW5kaWNhdGUgdGhlIGVycm9yLgorLlBwCitUaGUKKy5G biBmZGNsb3NlCitmdW5jdGlvbiByZXR1cm4gdGhlIGZpbGUgZGVzY3JpcHRvciBpZiBzdWNjZXNz ZnVsbC4KIE90aGVyd2lzZSwKIC5EdiBFT0YKIGlzIHJldHVybmVkIGFuZCB0aGUgZ2xvYmFsIHZh cmlhYmxlCiAuVmEgZXJybm8KIGlzIHNldCB0byBpbmRpY2F0ZSB0aGUgZXJyb3IuCisuUHAKIElu IGVpdGhlciBjYXNlIG5vIGZ1cnRoZXIgYWNjZXNzIHRvIHRoZSBzdHJlYW0gaXMgcG9zc2libGUu CiAuU2ggRVJST1JTCisuQmwgLXRhZyAtd2lkdGggRXIKKy5JdCBCcSBFciBFT1BOT1RTVVBQCiBU aGUKKy5GYSBfY2xvc2UKK21ldGhvZCBpbgorLkZhIHN0cmVhbQorYXJndW1lbnQgdG8KKy5GbiBm ZGNsb3NlICwKK3dhcyBub3QgZGVmYXVsdC4KKy5JdCBCcSBFciBFQkFERgorVGhlCisuRmEgc3Ry ZWFtCithcmd1bWVudCB0bworLkZuIGZkY2xvc2UgLAorZG9lcyBub3QgY29udGFpbnMgdmFsaWQg ZmlsZSBkZXNjcmlwdG9yLgorLkVsCisuUHAKK1RoZQogLkZuIGZjbG9zZQotZnVuY3Rpb24KK2Fu ZAorLkZuIGZkY2xvc2UKK2Z1bmN0aW9ucwogbWF5IGFsc28gZmFpbCBhbmQgc2V0CiAuVmEgZXJy bm8KIGZvciBhbnkgb2YgdGhlIGVycm9ycyBzcGVjaWZpZWQgZm9yIHRoZSByb3V0aW5lcwpAQCAt ODQsNyArMTMwLDkgQEAKIC5TaCBOT1RFUwogVGhlCiAuRm4gZmNsb3NlCi1mdW5jdGlvbgorYW5k CisuRm4gZmRjbG9zZQorZnVuY3Rpb25zCiBkb2VzIG5vdCBoYW5kbGUgTlVMTCBhcmd1bWVudHM7 IHRoZXkgd2lsbCByZXN1bHQgaW4gYSBzZWdtZW50YXRpb24KIHZpb2xhdGlvbi4KIFRoaXMgaXMg aW50ZW50aW9uYWwgLSBpdCBtYWtlcyBpdCBlYXNpZXIgdG8gbWFrZSBzdXJlIHByb2dyYW1zIHdy aXR0ZW4KQEAgLTEwNCw4ICsxNTIsMTMgQEAKIGZ1bmN0aW9uCiBjb25mb3JtcyB0bwogLlN0IC1p c29DIC4KLS5QcAorLlNoIEhpc3RvcnkKIFRoZQogLkZuIGZjbG9zZWFsbAogZnVuY3Rpb24gZmly c3QgYXBwZWFyZWQgaW4KIC5GeCA3LjAgLgorLlBwCitUaGUKKy5GbiBmZGNsb3NlCitmdW5jdGlv biBmaXJzdCBhcHBlYXJlZCBpbgorLkZ4IDExLjAgLgotLS0gLy9kZXBvdC91c2VyL29zaG9nYm8v Y2Fwc2ljdW0vbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMJMjAxMy0wNi0yOCAwODo1MToyOC4wMDAw MDAwMDAgMDAwMAorKysgL2hvbWUvb3Nob2diby9wNC9jYXBzaWN1bS9saWIvbGliYy9zdGRpby9m Y2xvc2UuYwkyMDEzLTA2LTI4IDA4OjUxOjI4LjAwMDAwMDAwMCAwMDAwCkBAIC0xLDYgKzEsNyBA QAogLyotCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKLSAqCVRoZSBSZWdlbnRzIG9mIHRo ZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w eXJpZ2h0IChjKSAxOTkwLCAxOTkzIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENh bGlmb3JuaWEuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQgTWFyaXVzeiBaYWJvcnNraSA8b3Nob2di b0BGcmVlQlNELm9yZz4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBjb2Rl IGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQogICog Q2hyaXMgVG9yZWsuCkBAIC0zOCw2ICszOSw3IEBACiAKICNpbmNsdWRlICJuYW1lc3BhY2UuaCIK ICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KICNpbmNsdWRlIDxzdGRp by5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgInVuLW5hbWVzcGFjZS5oIgpAQCAt NDUsMTkgKzQ3LDE3IEBACiAjaW5jbHVkZSAibGliY19wcml2YXRlLmgiCiAjaW5jbHVkZSAibG9j YWwuaCIKIAotaW50Ci1mY2xvc2UoRklMRSAqZnApCitzdGF0aWMgaW50CitjbGVhbmZpbGUoRklM RSAqZnAsIGJvb2wgYykKIHsKIAlpbnQgcjsKIAotCWlmIChmcC0+X2ZsYWdzID09IDApIHsJLyog bm90IG9wZW4hICovCi0JCWVycm5vID0gRUJBREY7Ci0JCXJldHVybiAoRU9GKTsKKwlyID0gZnAt Pl9mbGFncyAmIF9fU1dSID8gX19zZmx1c2goZnApIDogMDsKKwlpZiAoYykgeworCQlpZiAoZnAt Pl9jbG9zZSAhPSBOVUxMICYmICgqZnAtPl9jbG9zZSkoZnAtPl9jb29raWUpIDwgMCkKKwkJCXIg PSBFT0Y7CiAJfQotCUZMT0NLRklMRShmcCk7Ci0JciA9IGZwLT5fZmxhZ3MgJiBfX1NXUiA/IF9f c2ZsdXNoKGZwKSA6IDA7Ci0JaWYgKGZwLT5fY2xvc2UgIT0gTlVMTCAmJiAoKmZwLT5fY2xvc2Up KGZwLT5fY29va2llKSA8IDApCi0JCXIgPSBFT0Y7CisKIAlpZiAoZnAtPl9mbGFncyAmIF9fU01C RikKIAkJZnJlZSgoY2hhciAqKWZwLT5fYmYuX2Jhc2UpOwogCWlmIChIQVNVQihmcCkpCkBAIC04 MCw2ICs4MCw1NSBAQAogCVNURElPX1RIUkVBRF9MT0NLKCk7CiAJZnAtPl9mbGFncyA9IDA7CQkv KiBSZWxlYXNlIHRoaXMgRklMRSBmb3IgcmV1c2UuICovCiAJU1RESU9fVEhSRUFEX1VOTE9DSygp OworCisJcmV0dXJuIChyKTsKK30KKworaW50CitmZGNsb3NlKEZJTEUgKmZwKQoreworCWludCBm ZCwgciwgZXJyOworCisJaWYgKGZwLT5fZmxhZ3MgPT0gMCkgewkvKiBub3Qgb3BlbiEgKi8KKwkJ ZXJybm8gPSBFQkFERjsKKwkJcmV0dXJuIChFT0YpOworCX0KKworCXIgPSAwOworCUZMT0NLRklM RShmcCk7CisJZmQgPSBmcC0+X2ZpbGU7CisJaWYgKGZwLT5fY2xvc2UgIT0gX19zY2xvc2UpIHsK KwkJciA9IEVPRjsKKwkJZXJybm8gPSBFT1BOT1RTVVBQOworCX0gZWxzZSBpZiAoZmQgPCAwKSB7 CisJCXIgPSBFT0Y7CisJCWVycm5vID0gRUJBREY7CisJfQorCWlmIChyID09IEVPRikgeworCQll cnIgPSBlcnJubzsKKwkJKHZvaWQpY2xlYW5maWxlKGZwLCB0cnVlKTsKKwkJZXJybm8gPSBlcnI7 CisJfSBlbHNlIHsKKwkJciA9IGNsZWFuZmlsZShmcCwgZmFsc2UpOworCX0KIAlGVU5MT0NLRklM RShmcCk7CisKKwlyZXR1cm4gKHIgPT0gMCA/IGZkIDogcik7Cit9CisKK2ludAorZmNsb3NlKEZJ TEUgKmZwKQoreworCWludCByOworCisJaWYgKGZwLT5fZmxhZ3MgPT0gMCkgewkvKiBub3Qgb3Bl biEgKi8KKwkJZXJybm8gPSBFQkFERjsKKwkJcmV0dXJuIChFT0YpOworCX0KKworCUZMT0NLRklM RShmcCk7CisJciA9IGNsZWFuZmlsZShmcCwgdHJ1ZSk7CisJRlVOTE9DS0ZJTEUoZnApOworCiAJ cmV0dXJuIChyKTsKIH0K --20cf3042705a7d7ed004f4d5b4f2--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGOYWV80vTTQbvSjvNa6XBzBiKy%2BjnGantkUH_RO=8prxoHmyQ>