From owner-freebsd-current Thu Nov 5 12:34:59 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA26768 for freebsd-current-outgoing; Thu, 5 Nov 1998 12:34:59 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from ns.tar.com (ns.tar.com [204.95.187.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA26721 for ; Thu, 5 Nov 1998 12:34:43 -0800 (PST) (envelope-from lists@tar.com) Received: from ppro.tar.com (ppro.tar.com [204.95.187.9]) by ns.tar.com (8.9.1/8.8.7) with SMTP id OAA14134; Thu, 5 Nov 1998 14:34:03 -0600 (CST) Message-Id: <199811052034.OAA14134@ns.tar.com> From: "Richard Seaman, Jr." To: "Peter Wemm" Cc: "current@FreeBSD.ORG" Date: Thu, 05 Nov 98 14:34:03 -0600 Reply-To: "Richard Seaman, Jr." X-Mailer: PMMail 1.92 For OS/2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="_=_=_=IMA.BOUNDARY.F1YROR138764=_=_=_" Subject: Re: Kernel threading (was Re: Thread Scheduler bug) Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --_=_=_=IMA.BOUNDARY.F1YROR138764=_=_=_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Thu, 05 Nov 1998 22:28:46 +0800, Peter Wemm wrote: >Also, while on the subject, something Julian said has got me thinking about >creating kernel threads on the fly when and if a user thread happens to >block. This sounds rather interesting.. - async IO is done this way too I >think. It would require a fair amount of cooperation between the thread >"engine" and the kernel, perhaps by having an executive thread of sorts >that handled the kernel interation and thread activation. I attached a message from Martin Cracauer (and the attachment to that message) from about 2 1/2 months ago on this subject. --_=_=_=IMA.BOUNDARY.F1YROR138764=_=_=_ Content-Type: application/octet-stream; name="m" Content-Transfer-Encoding: base64 UmV0dXJuLVBhdGg6IG93bmVyLWZyZWVic2QtY3VycmVudEBGcmVlQlNELk9SRwpSZXR1cm4tUGF0 aDogPG93bmVyLWZyZWVic2QtY3VycmVudEBGcmVlQlNELk9SRz4KUmVjZWl2ZWQ6IGZyb20gc2Fy aXAuc29sLm5ldCAobWFpbEBzYXJpcC5zb2wubmV0IFsxNjkuMjA3LjMwLjEyMF0pCglieSBucy50 YXIuY29tICg4LjguOC84LjguNykgd2l0aCBFU01UUCBpZCBIQUEwNDU1MAoJZm9yIDxsaXN0c0B0 YXIuY29tPjsgV2VkLCAyNiBBdWcgMTk5OCAwNzozNjoyMiAtMDUwMCAoQ0RUKQpSZWNlaXZlZDog ZnJvbSBodWIuZnJlZWJzZC5vcmcgKGh1Yi5GcmVlQlNELk9SRyBbMjA0LjIxNi4yNy4xOF0pCgli eSBzYXJpcC5zb2wubmV0ICg4LjguOC84LjguOC9TTk5TLTEuMDIpIHdpdGggRVNNVFAgaWQgSEFB MTAxOTk7CglXZWQsIDI2IEF1ZyAxOTk4IDA3OjMyOjIwIC0wNTAwIChDRFQpClJlY2VpdmVkOiBm cm9tIGxvY2FsaG9zdCAoZGFlbW9uQGxvY2FsaG9zdCkKICAgICAgICAgIGJ5IGh1Yi5mcmVlYnNk Lm9yZyAoOC44LjgvOC44LjgpIHdpdGggU01UUCBpZCBGQUExOTQ1NzsKICAgICAgICAgIFdlZCwg MjYgQXVnIDE5OTggMDU6MDk6NTEgLTA3MDAgKFBEVCkKICAgICAgICAgIChlbnZlbG9wZS1mcm9t IG93bmVyLWZyZWVic2QtY3VycmVudCkKUmVjZWl2ZWQ6IGJ5IGh1Yi5mcmVlYnNkLm9yZyAoYnVs a19tYWlsZXIgdjEuNik7IFdlZCwgMjYgQXVnIDE5OTggMDU6MDc6NTQgLTA3MDAKUmVjZWl2ZWQ6 IChmcm9tIG1ham9yZG9tQGxvY2FsaG9zdCkKICAgICAgICAgIGJ5IGh1Yi5mcmVlYnNkLm9yZyAo OC44LjgvOC44LjgpIGlkIEZBQTE5MTU5CiAgICAgICAgICBmb3IgZnJlZWJzZC1jdXJyZW50LW91 dGdvaW5nOyBXZWQsIDI2IEF1ZyAxOTk4IDA1OjA3OjUzIC0wNzAwIChQRFQpCiAgICAgICAgICAo ZW52ZWxvcGUtZnJvbSBvd25lci1mcmVlYnNkLWN1cnJlbnRARnJlZUJTRC5PUkcpClJlY2VpdmVk OiBmcm9tIGdpbGdhbWVzY2guYmlrLWdtYmguZGUgKGdpbGdhbWVzY2guYmlrLWdtYmguZGUgWzE5 NC4yMzMuMjM3LjkxXSkKICAgICAgICAgIGJ5IGh1Yi5mcmVlYnNkLm9yZyAoOC44LjgvOC44Ljgp IHdpdGggRVNNVFAgaWQgRkFBMTkxNTA7CiAgICAgICAgICBXZWQsIDI2IEF1ZyAxOTk4IDA1OjA3 OjUwIC0wNzAwIChQRFQpCiAgICAgICAgICAoZW52ZWxvcGUtZnJvbSBjcmFjYXVlckBnaWxnYW1l c2NoLmJpay1nbWJoLmRlKQpSZWNlaXZlZDogKGZyb20gY3JhY2F1ZXJAbG9jYWxob3N0KSBieSBn aWxnYW1lc2NoLmJpay1nbWJoLmRlICg4LjguOC84LjcuMykgaWQgT0FBMjA5MTM7IFdlZCwgMjYg CkF1ZyAxOTk4IDE0OjA2OjQzICswMjAwIChNRVQgRFNUKQpNZXNzYWdlLUlEOiA8MTk5ODA4MjYx NDA2NDIuQTIwNTExQGNvbnMub3JnPgpEYXRlOiBXZWQsIDI2IEF1ZyAxOTk4IDE0OjA2OjQyICsw MjAwCkZyb206IE1hcnRpbiBDcmFjYXVlciA8Y3JhY2F1ZXJAY29ucy5vcmc+ClRvOiBNaWtlIFNt aXRoIDxtaWtlQHNtaXRoLm5ldC5hdT4sIE1pY2hhZWwgSGFuY29jayA8bWljaGFlbGhAY2V0LmNv LmpwPgpDYzogR2FyeSBQYWxtZXIgPGdwYWxtZXJARnJlZUJTRC5PUkc+LCBDaHVjayBSb2JleSA8 Y2h1Y2tyQGdsdWUudW1kLmVkdT4sCiAgICAgICAgZnJlZWJzZC1jdXJyZW50QEZyZWVCU0QuT1JH ClN1YmplY3Q6IFJlOiBUaHJlYWRzIGFjcm9zcyBwcm9jZXNzb3JzClJlZmVyZW5jZXM6IDxQaW5l LlNWNC4zLjk1Ljk4MDgyNjAwMDIwNC4xOTE1N0MtMTAwMDAwQHBhcmtwbGFjZS5jZXQuY28uanA+ IAo8MTk5ODA4MjUxMzM4Lk5BQTAyNTMzQGRpbmdvLmNkcm9tLmNvbT4KTWltZS1WZXJzaW9uOiAx LjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PTJvUzVZYXhXQ2NRalRF eU8KWC1NYWlsZXI6IE11dHQgMC45My4xaQpJbi1SZXBseS1UbzogPDE5OTgwODI1MTMzOC5OQUEw MjUzM0BkaW5nby5jZHJvbS5jb20+OyBmcm9tIE1pa2UgU21pdGggb24gVHVlLCBBdWcgMjUsIDE5 OTggYXQgCjAxOjM4OjE4UE0gKzAwMDAKU2VuZGVyOiBvd25lci1mcmVlYnNkLWN1cnJlbnRARnJl ZUJTRC5PUkcKWC1Mb29wOiBGcmVlQlNELk9SRwpYLVVJREw6IDA1NjZiOTEwMjdiN2Q5MjJiNjFj ZjYzZjVhY2Y2YTIzCgpJbiA8MTk5ODA4MjUxMzM4Lk5BQTAyNTMzQGRpbmdvLmNkcm9tLmNvbT4s IE1pa2UgU21pdGggd3JvdGU6IAo+ID4gT24gVHVlLCAyNSBBdWcgMTk5OCwgR2FyeSBQYWxtZXIg d3JvdGU6Cj4gPiAKPiA+ID4gSGVjaywgU01JIHdyb3RlIGBkb29ycycgZm9yIHRoZSB2ZXJ5IHJl YXNvbiB0aGF0IElQQyAqYmxvd3MqIGluIGFsbCBjYXNlcywgYW5kIAo+ID4gPiB0aGF0IHRvIHB1 bGwgb2ZmIHRoZSBzcGVlZHVwcyB3aXRoIE5TQ0QgdGhhdCB0aGV5IHdhbnRlZCwgdGhleSBoYWQg dG8gZ2V0IHRoZSAKPiA+ID4gSVBDIG92ZXJoZWFkIHJlZHVjZWQgYSBsb3QuIEkgdGhpbmsgSSBl dmVuIGhhdmUgc2xpZGVzIHNvbWV3aGVyZSBjb21wYXJpbmcgCj4gPiA+IHBpcGVzLCBTWVNWIFNI TSwgZXRjIHRpbWVzIGZvciBtZXNzYWdlIHBhc3NpbmcgaW4gdGVybXMgb2YgdHJhbnNpdCB0aW1l Lgo+ID4gCj4gPiBPdXIgcGlwZXMgYXJlIHZlcnkgZmFzdC4gIFNZU1YgU0hNJ3MgYmx1bmRlciBp cyB0aGF0IGl0IHVzZXMgZnVsbCBibG93bgo+ID4gc3lzdGVtIGNhbGxzIGZvciBzeW5jaHJvbml6 YXRpb24uCgpBZWhtLCBhbmQgcGlwZXMgZG9uJ3QgcmVxdWlyZSBmdWxsLWJsb3duIHN5c3RlbSBj YWxscyB0byBzZW5kL3JlY2VpdmUKbm90aWZpY2F0aW9ucyBhbmQgcmVxdWlyZSBrZXJuZWwgcmVz aGVkdWxpbmcgYmVmb3JlIGFueXRoaW5nIGhhcHBlbnMKYWZ0ZXIgc2VuZGluZyBhIG1lc3NhZ2U/ CiAKPiBZZXMuICBBbnlvbmUgdGhhdCB0aGlua3MgaW4gdGVybXMgb2YgYSBjb250ZXh0IHN3aXRj aCBwZXIgdHJhbnNhY3Rpb24gCj4gYmV0d2VlbiBjb3Byb2Nlc3NlcyBpcyBub3QgZGVzaWduaW5n IHByb3Blcmx5LiAgCgpGb3IgeW91ciBhbXVzZW1lbnQsIEkgYXBwZW5kZWQgYSBtZXNzYWdlIEkg b25jZSBmb3J3YXJkZWQgdG8gLWhhY2tlcnMsCnJlZ2FyZGluZyBtYXBwaW5nIG9mIHVzZXJsZXZl bCB0aHJlYWRzIHRvIGtlcm5lbCBzaGVkdWxhYmxlIGVudGl0aWVzLgoKQnV0IGluIGEgd2F5IHRo YXQgaXMgbGlrZSBzZW5kZmlsZSBhbmQgb3RoZXIgY29tYmluZWQgc3lzdGVtIGNhbGxzOgpEaWQg YW55b25lIGFjdHVhbGx5IGdhaW4gYW55IGRhdGEgaG93IG11Y2ggc2xvd2VyIGEKb25lLXByb2Nl c3MtcGVyLXRocmVhZCBtb2RlbCBpcz8gRm9yIGFueSBhcHBsaWNhdGlvbj8KCj4gVXNpbmcgYSBz aGFyZWQgbW1hcCgpIAo+IHJlZ2lvbiBhbmQgZGF0YXN0cnVjdHVyZXMgdGhhdCBkb24ndCByZXF1 aXJlIGxvY2tpbmcgaXMgYW5vdGhlciAKPiBjb3N0LWVmZmVjdGl2ZSB0ZWNobmlxdWUuCgpJJ20g YWZyYWlkIEkgaGF2ZSB0byBjb3VudCB0aGlzIGFzICp2ZXJ5KiBjaGVhcCBzaG90IDotKQoKTWFy dGluCi0tIAolJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUl JSUlJSUlJSUlJSUlJSUlCk1hcnRpbiBDcmFjYXVlciA8Y3JhY2F1ZXJAY29ucy5vcmc+IGh0dHA6 Ly93d3cuY29ucy5vcmcvY3JhY2F1ZXIKQlNEIFVzZXIgR3JvdXAgSGFtYnVyZywgR2VybWFueSAg ICAgaHR0cDovL3d3dy5ic2RoaC5vcmcvCgo= --_=_=_=IMA.BOUNDARY.F1YROR138764=_=_=_ Content-Type: application/octet-stream; name="l" Content-Transfer-Encoding: base64 CgpJIHdyb3RlOgoKPiA+IEkgc3RpbGwgbGlrZSB0aGUgc2ltcGxpdGljaXR5IG9mIGEga2VybmVs LW9ubHkgdGhyZWFkIHNvbHV0aW9uLiBJZgo+ID4gdGhhdCB3YXkgdHVybnMgb3V0IHRvIGJlIHRv byBpbmVmZmljaWVudCwgdGhlIERFQyB3YXkgc2VlbXMgdG8gYmUgYQo+ID4gc29sdXRpb24gdGhh dCBkb2Vzbid0IG5lZWQgYXN5bmMgc3lzdGVtIGNhbGxzIGFuZCBoYXMgbm8gZWZmaWNpZW5jeQo+ ID4gZGlzYWR2YW50YWdlIEkgY2FuIHNlZSAoY29tcGFyZWQgdG8gYSBzeXN5ZW0gd2l0aCBhc3lu YyBzeXNjYWxscwo+ID4gb25seSkuCj4gPiAKPiA+IEkgaG9wZSB0byBnZXQgZnVydGhlciBkZXRh aWxzIG9uIHRoZSBERUMgaW1wbGVtZW50YXRpb24uCgpIZXJlJ3Mgd2hhdCBEYXZlIEJ1dGVuaG9m IDxidXRlbmhvZkB6a28uZGVjLmNvbT4gdG9sZCBtZSBhYm91dCBERUMncwppbnRlcmZhY2UuIERh dmUgaW1wbGVtZW50cyB0aGUgdXNlcmxldmVsIHBhcnQgb2YgREVDJ3MgdGhyZWFkCmludGVyZmFj ZS4gVGhpcyBhbnN3ZXIgaXMgYSBiaXQgb3V0IG9mIGNvbnRleHQsIGlmIHlvdSBuZWVkIHRoZQpw cmV2aW91cyBkaXNjdXNzaW9uLCBwbGVhc2UgbGV0IG1lIGtub3cuCgpNeSBvcmlnaW5hbCBxdWVz dGlvbiB3YXMgaG93IGJsb2NraW5nIHN5c2NhbGxzIGFyZSB0cmVhdGVkLiBJbiBEaWdpdGFsClVu aXgsIHRoZSBrZXJuZWwgcmVwb3J0cyBhIGJsb2NraW5nIHN5c2NhbGwgaW4gb25lIHRocmVhZCBi YWNrIHRvIHRoZQp1c2VybGV2ZWwgbGlicmFyeSwgd2hpY2ggcmVzaGVkdWxlcyBhbm90aGVyIHRo cmVhZCBvbiB0aGF0ICJrZXJuZWwiCnRocmVhZC4gSSBhc2tlZCBmb3IgZnVydGhlciBkZXRhaWxz IGhvdyBhIHVzZXJsZXZlbCBsaWJyYXJ5IGNvdWxkIGdldApyaWQgb2YgYW4gYWxyZWFkeSBibG9j a2luZyBzeXNjYWxsLCBhbmQgaGVyZSdzIHdoYXQgSSBoZWFyZWQ6Cgo+IH5NZXNzYWdlLUlkOiA8 MzJBNTc5N0MuNjIzMUB6a28uZGVjLmNvbT4KPiB+RGF0ZTogV2VkLCAwNCBEZWMgMTk5NiAwODox NTo0MCAtMDUwMAo+IH5Gcm9tOiBEYXZlIEJ1dGVuaG9mIDxidXRlbmhvZkB6a28uZGVjLmNvbT4K PiB+T3JnYW5pemF0aW9uOiBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlvbgo+IH5UbzogY3Jh Y2F1ZXJAd2F2ZWhoLmhhbnNlLmRlCj4gfkNjOiAiQnV0ZW5ob2YsIERhdmUiIDxidXRlbmhvZkB6 a28uZGVjLmNvbT4KPiB+U3ViamVjdDogUmU6IEJsb2NraW5nIHN5c2NhbGwgaGFuZGxpbmcgaW4g b25lLXRvLW1hbnkgdGhyZWFkIGltcGxlbWVudGF0aW9ucwo+IAo+IFsuLi5dCj4gCj4gW1RoaXMg d2FzIG15LCBNYXJ0aW5zLCBxdWVzdGlvbl0KPiA+IEJ1dCBob3cgZXhhY3RseSBpcyByZXNoZWR1 bGluZyBvbiB5b3VyIEtFQ3MgZG9uZT8gSWYgYSBLRUNzIGlzIHdhaXRpbmcKPiA+IGluIGEgYmxv Y2tpbmcgc3lzY2FsbCwgaG93IGNhbiB0aGUgdXNlcmxldmVsIHNoZWR1bGVyIHJlYXNzaWduIGl0 PyBIb3cKPiA+IGNhbiB0aGUgdXNlcmxldmVsIGxpYnJhcnkgZnJlZSBpdCBmcm9tIHRoZSBzeXNj YWxsPyAKPiA+IAo+ID4gQW5kIHdoYXQgaGFwcGVucyB0byB0aGUgc3lzY2FsbD8gSXMgaXQgdHJh bnNsYXRlZCBpbnRvIGEgbm9uLWJsb2NraW5nCj4gPiB2ZXJzaW9uIGFuZCB0aGUga2VybmVsIGlu Zm9ybXMgdGhlIHVzZXJsZXZlbCBzaGVkdWxlciB3aGVuIGl0IGFycml2ZXM/Cj4gCj4gSSB3YXMg dHJ5aW5nIHRvIGRlc2NyaWJlIHdoYXQgaGFwcGVucyBmcm9tIFlPVVIgcGVyc3BlY3RpdmUsIG1v cmUgdGhhbgo+IHdoYXQgYWN0dWFsbHkgaGFwcGVucyBpbiB0aGUgdGhyZWFkIGxpYnJhcnkgJiBr ZXJuZWwuIFRoZSBpbnRlcm5hbHMgYXJlLAo+IGFzIGFsd2F5cywgYSBsaXR0bGUgbW9yZSBjb21w bGljYXRlZC4KPiAKPiBUaGUgdGhyZWFkIGxpYnJhcnkgbWFpbnRhaW5zIGEgY29uc3RhbnQgcG9v bCBvZiAodXAgdG8pIDxuPiBLRUNzLCB3aGVyZQo+IDxuPiBpcyBub3JtYWxseSBzZXQgYnkgdGhl IG51bWJlciBvZiBwaHlzaWNhbCBwcm9jZXNzb3JzIGluIHRoZSBzeXN0ZW0uCj4gKEl0IG1heSBi ZSBzbWFsbGVyLCBpZiB5b3VyIHByb2Nlc3MgaXMgbG9ja2VkIGludG8gYSBwcm9jZXNzb3Igc2V0 LikKPiBUaGVzZSBhcmUgdGhlICJ2aXJ0dWFsIHByb2Nlc3NvcnMiIChWUHMpLiBUaGUgdGhyZWFk IGxpYnJhcnkgc2NoZWR1bGVzCj4gdXNlciB0aHJlYWRzIG9uIHRoZSBwb29sIG9mIFZQcywgdHJ5 aW5nIHRvIGtlZXAgYWxsIDxuPiBvZiB0aGVtIGJ1c3kuIElmCj4geW91IGRvbid0IGhhdmUgZW5v dWdoIHVzZXIgdGhyZWFkcyB0byBrZWVwIHRoYXQgbWFueSBWUHMgYnVzeSwgdGhleSBtYXkKPiBu b3QgYWxsIGdldCBzdGFydGVkLCBvciBWUHMgYWxyZWFkeSBydW5uaW5nIG1heSBnbyBpbnRvIHRo ZSAibnVsbAo+IHRocmVhZCIgbG9vcCBhbmQgaWRsZSAtLSB3aGljaCByZXR1cm5zIHRoZSBLRUMg dG8gdGhlIGtlcm5lbCdzIHBvb2wgZm9yCj4gcmV1c2UuIFdlJ2xsIGdldCBpdCBiYWNrIGlmIHdl IG5lZWQgaXQgbGF0ZXIuCj4gCj4gV2hlbiBhIHRocmVhZCBibG9ja3MgaW4gdGhlIGtlcm5lbCwg dGhlIEtFQyBzdGF5cyBpbiB0aGUga2VybmVsLCBidXQgaXQKPiBnaXZlcyB1cyBhbiB1cGNhbGwg aW4gYSAqbmV3KiAob3IgcmVjeWNsZWQpIEtFQyB0byByZXBsYWNlIHRoZSBWUC4gV2hlbgo+IHRo ZSBibG9ja2luZyBvcGVyYXRpb24gZmluaXNoZXMsIHRoZSBrZXJuZWwgZ2l2ZXMgdXMgYSBjb21w bGV0aW9uIHVwY2FsbAo+IGluIHRoZSBvcmlnaW5hbCBLRUMuIEl0J3Mgbm8gbG9uZ2VyIGEgVlAs IHNvIHdlIGp1c3Qgc2F2ZSB0aGUgY29udGV4dAo+IGFuZCBkaXNtaXNzIGl0Lgo+IAo+IFRoZSBr ZXkgaXMgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gIktFQyIgYW5kICJWUCIuIFRoZXJlIG1heSBi ZSAxMDAgS0VDcwo+IGF0dGFjaGVkIHRvIGEgcHJvY2VzcywgYnV0LCBvbiBhIHR5cGljYWwgcXVh ZC1DUFUgc3lzdGVtLCBvbmx5ICh1cCB0bykgNAo+IG9mIHRoZW0gYXQgYW55IHRpbWUgYXJlICJW UHMiLiBUaGUgcmVzdCBhcmUganVzdCBob2xkaW5nIGtlcm5lbCBjb250ZXh0Cj4gYWNyb3NzIHNv bWUgYmxvY2tpbmcgb3BlcmF0aW9uLiBXaGVyZWFzLCBpbiBhIHN0cmljdCBrZXJuZWwtbW9kZQo+ IGltcGxlbWVudGF0aW9uLCBlYWNoIHVzZXIgdGhyZWFkIGlzIGEgS0VDLCB3ZSBoYXZlIGEgS0VD IG9ubHkgZm9yIGVhY2gKPiBydW5uaW5nIHRocmVhZCBhbmQgZWFjaCB0aHJlYWQgYmxvY2tlZCBp biB0aGUga2VybmVsLiBUaGUgbnVtYmVyIG9mIEtFQ3MKPiB3aWxsIGZsdWN0dWF0ZSAtLSBhbmQs IGlmIHlvdSBoaXQgeW91ciBxdW90YSBmb3IgS0VDcyAoTWFjaCB0aHJlYWRzKSwKPiBhbnkgYWRk aXRpb25hbCBrZXJuZWwgYmxvY2tpbmcgb3BlcmF0aW9ucyB3aWxsIHN0YXJ0IHRvIGxvd2VyCj4g Y29uY3VycmVuY3kuIFRoZSBtb3N0IGNvbW1vbiBibG9ja2luZyBvcGVyYXRpb25zLCBtdXRleGVz ICYgY29uZGl0aW9uCj4gdmFyaWFibGVzIChhbmQgc29tZSBvdGhlcnMpLCBob3dldmVyLCBhcmUg Y29tcGxldGVseSBpbiB1c2VyIG1vZGUuCj4gCj4gV2UncmUgZ29pbmcgdG8gY29udGludWUgc3Ry ZWFtbGluaW5nIHRoZSBwcm9jZXNzIGFzIHdlIGdvIChsaWtlIG1vdmluZwo+IHNvbWUga2VybmVs IGJsb2NraW5nIHN0YXRlcyBvdXQgaW50byB1c2VyIG1vZGUsIGFuZCByZWR1Y2luZyB0aGUgY29u dGV4dAo+IHRoYXQgdGhlIGtlcm5lbCBuZWVkcyB0byBrZWVwIGJlbG93IGEgZnVsbCBLRUMpLCBi dXQsIGluIGdlbmVyYWwsIGl0Cj4gd29ya3MgdmVyeSB3ZWxsLiBUaGUga2VybmVsIGRldmVsb3Bl ciBhbmQgSSAoSSB3b3JrIG1vc3RseSBpbiB0aGUKPiBsaWJyYXJ5KSBoYXZlIGtpY2tlZCBhcm91 bmQgdGhlIGlkZWEgb2YgZG9pbmcgYSBwYXBlciBvbiB0aGUgZGVzaWduLgo+IE1vc3RseSwgSSd2 ZSBiZWVuIHRvbyBidXN5IHdpdGggYSBib29rIGZvciBhIHJpZGljdWxvdXNseSBsb25nIHRpbWUs IGFuZAo+IHRoZSBkZXZlbG9wbWVudCByZXF1aXJlbWVudHMgbmV2ZXIgc3RvcC4gTWF5YmUgc29t ZSBkYXkuIFBvc3NpYmx5IG9uY2UKPiB3ZSd2ZSBnb25lIHRocm91Z2ggYSBmdWxsIHJlbGVhc2Ug Y3ljbGUgYW5kIGhhdmUgdGhlIGFyY2hpdGVjdHVyZQo+IHN0YWJpbGl6ZWQgYmV0dGVyLgo+IAo+ IC8tLS1bIERhdmUgQnV0ZW5ob2YgXS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tWyBidXRlbmhvZkB6 a28uZGVjLmNvbSBdLS0tXAo+IHwgRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRpb24gICAgICAg ICAgIDExMCBTcGl0IEJyb29rIFJkIFpLTzItMy9RMTggfAo+IHwgNjAzLjg4MS4yMjE4LCBGQVgg NjAzLjg4MS4wMTIwICAgICAgICAgICAgICAgICAgTmFzaHVhIE5IIDAzMDYyLTI2OTggfAo+IFwt LS0tLS0tLS0tLS0tLS0tLVsgQmV0dGVyIExpdmluZyBUaHJvdWdoIENvbmN1cnJlbmN5IF0tLS0t LS0tLS0tLS0tLS0tLwo+IAo+IAoKCg== --_=_=_=IMA.BOUNDARY.F1YROR138764=_=_=_-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message