Date: Mon, 11 Jul 2011 12:54:06 +0200 From: Robert Millan <rmh@debian.org> To: freebsd-hackers@freebsd.org, Ed Maste <emaste@freebsd.org> Cc: Petr Salinger <Petr.Salinger@seznam.cz> Subject: [PATCH] Improve LinuxThreads compatibility in rfork() Message-ID: <CAOfDtXMe_pkBdAFpUdvzmfs38Re=nw_YBz4w0Va0naEcuak7iw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--90e6ba6e87fa8d13b704a7c900b0 Content-Type: text/plain; charset=UTF-8 This patch made by Petr Salinger improves compatibility with LinuxThreads in rfork() syscall. The Linux clone() implementation allows specifying the signal sent to parent when child terminates (instead of SIGCHLD). As the threading implementation in Debian GNU/kFreeBSD is LinuxThreads-based, we had to diverge from upstream kFreeBSD ABI and implement this extension. I hope it is acceptable for you to use the same encoding, this way we would archieve ABI compatibility to run Debian GNU/kFreeBSD inside a chroot/jail on top of a FreeBSD system. Thanks for considering -- Robert Millan --90e6ba6e87fa8d13b704a7c900b0 Content-Type: text/plain; charset=US-ASCII; name="007_clone_signals.diff" Content-Disposition: attachment; filename="007_clone_signals.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gpzbdpww0 LS0tIGEvc3lzL2tlcm4va2Vybl9mb3JrLmMKKysrIGIvc3lzL2tlcm4va2Vybl9mb3JrLmMKQEAg LTQ3Nyw3ICs0NzcsMTMgQEAKIAkJcDItPnBfc2lnYWN0cyA9IG5ld3NpZ2FjdHM7CiAJfQogCWlm IChmbGFncyAmIFJGTElOVVhUSFBOKSAKLQkgICAgICAgIHAyLT5wX3NpZ3BhcmVudCA9IFNJR1VT UjE7CisJeworCQlpbnQgc2lnOworCQlzaWcgPSBSRlRIUE5TSUdOVU0oZmxhZ3MpOworCSAgICAg ICAgaWYgKHNpZyA9PSAwKSBzaWcgPSBTSUdVU1IxOworCSAgICAgICAgaWYgKHNpZyA9PSBTSUdD SExEKSBzaWcgPSAwOworCSAgICAgICAgcDItPnBfc2lncGFyZW50ID0gc2lnOworCX0KIAllbHNl CiAJICAgICAgICBwMi0+cF9zaWdwYXJlbnQgPSBTSUdDSExEOwogCi0tLSBhL3N5cy9zeXMvdW5p c3RkLmgKKysrIGIvc3lzL3N5cy91bmlzdGQuaApAQCAtMTgyLDYgKzE4MiwxMCBAQAogI2RlZmlu ZQlSRkhJR0hQSUQJKDE8PDE4KQkvKiB1c2UgYSBwaWQgaGlnaGVyIHRoYW4gMTAgKGlkbGVwcm9j KSAqLwogI2RlZmluZQlSRlBQV0FJVAkoMTw8MzEpCS8qIHBhcmVudCBzbGVlcHMgdW50aWwgY2hp bGQgZXhpdHMgKHZmb3JrKSAqLwogI2RlZmluZQlSRktFUk5FTE9OTFkJKFJGU1RPUFBFRCB8IFJG SElHSFBJRCB8IFJGUFBXQUlUKQorI2RlZmluZSBSRlRIUE5TSElGVAkyNAkvKiByZXNlcnZlIGJp dHMgMjQtMzAgKi8KKyNkZWZpbmUgUkZUSFBOTUFTSwkweDdGICAgIC8qIGZvciBjb21wYXRpYmls aXR5IHdpdGggbGludXh0aHJlYWRzL2Nsb25lKCkgICAqLworCQkJCS8qIGFsbG93IHRvIHNwZWNp ZnkgICJjbG9uZSBleGl0IHBhcmVudCBub3RpZmljYXRpb24iIHNpZ25hbCAqLworI2RlZmluZSBS RlRIUE5TSUdOVU0oZmxhZ3MpCSgoKGZsYWdzKSA+PiBSRlRIUE5TSElGVCkgJiBSRlRIUE5NQVNL KQogCiAjZW5kaWYgLyogX19CU0RfVklTSUJMRSAqLwogCg== --90e6ba6e87fa8d13b704a7c900b0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOfDtXMe_pkBdAFpUdvzmfs38Re=nw_YBz4w0Va0naEcuak7iw>