From owner-freebsd-current@FreeBSD.ORG Mon Mar 17 23:23:21 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 18E36F45; Mon, 17 Mar 2014 23:23:21 +0000 (UTC) Received: from mail-ie0-x230.google.com (mail-ie0-x230.google.com [IPv6:2607:f8b0:4001:c03::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B463B8E0; Mon, 17 Mar 2014 23:23:20 +0000 (UTC) Received: by mail-ie0-f176.google.com with SMTP id rd18so6281243iec.35 for ; Mon, 17 Mar 2014 16:23:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:cc:content-type; bh=7zOEl8FKXdd3ckNwS10UOh1ra6e6OLytoYvYrSr2cxI=; b=xrI/3dP0jQR8Dz3x1Q5xU2cKKpWhhn+WNjpYpjCa+/DoQSYTGh3g1S8ru65JOzLsmJ P02WMarAlaYdUCteOlOabEsVFQQY+GHPpS2xdN4Mc/aNxzRQ4FEGE/3TXySNurorPoDX uhQOMxt+ohWkEMnbNApVwOMX+qWVcxMbmjfp6KR6KrsuqJW3v5MxOoj0wxW1EfJgw3G/ 65djdsaCogSEUakDEwgrBQU2DWugmmE5N71eqzbpcs+i0pP1Fed0p8xU33OFPnKiV5ES 4rhYM4AKbt/zohd/EfW8tVIzTd5QYGrlVcME+g9HlMRtAYIGAJoPJ2ISi16APsIOZPbx Qdzg== MIME-Version: 1.0 X-Received: by 10.42.27.136 with SMTP id j8mr3307491icc.69.1395098600169; Mon, 17 Mar 2014 16:23:20 -0700 (PDT) Sender: oshogbo.vx@gmail.com Received: by 10.50.95.34 with HTTP; Mon, 17 Mar 2014 16:23:19 -0700 (PDT) Date: Tue, 18 Mar 2014 00:23:19 +0100 X-Google-Sender-Auth: rlxw3VDwpqrpJhTfI433aU1h014 Message-ID: Subject: Hello fdclose From: Mariusz Zaborski To: freebsd-current@freebsd.org, freebsd-arch@freebsd.org Content-Type: multipart/mixed; boundary=20cf3042705a7d7ed004f4d5b4f2 Cc: jilles@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Mar 2014 23:23:21 -0000 --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--