abandon kern_getpgid, add check for osrelease
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Aug 17 2021
abandon kern_getpgid
Aug 16 2021
style(9)
comment added to the implementation
add comment to the statx impl
call kern_getpgid if id is zero
fixed
In D31561#711580, @emaste wrote:Special handling for -1 also needed
In D31554#711493, @emaste wrote:This is fine with me, although I wonder if it makes sense to do the check in linux_to_bsd_waitopts so the supported options are all in one place? But no objection from me if you prefer this.
fix strange mismerge
blank line restore
Aug 15 2021
Aug 13 2021
added an explanation about using the flag
Aug 12 2021
In D31525#710679, @emaste wrote:The XXXKSE is certainly meaningless now, but we maybe still want to comment on how Linux threads / processes map to FreeBSD?
Aug 11 2021
fixed
In D31472#709944, @kib wrote:All this historical digging makes a nice blog post, I believe.
Aug 10 2021
add a new sv_cpu_fork hook and call it from cpu_fork() if it initialized.
thanks
In D31472#709712, @kib wrote:In D31472#709689, @dchagin wrote:btw, what is the reason to set rdx to 1 here? i couldn't find it
This is quite interesting question, at least it was for me. I had to look at V7 and BSD 4.2 sources to get an idea.
It seems that V7 fork(2) syscall did not returned 0 in the child. Instead, it returned parent pid. In other words, current day idiom pid = fork(); if (pid == 0) {...child...} did not worked in V7. BSD 4.2 decided to make the life of the consumers easier, but keep compatibility with V7. So they started returning the high val set to 1 for child, and 0 for parent. It was probably some variant of SysV that made fork(2) return 0 to child.
I believe this setting of %rdx/%edx is the remnant of that time. You can see that sys_fork() and other syscall wrappers do td->td_retval[1] = 0; for the parent.
style, calc size of uca storage and add comment about it
fixed
In D31472#709638, @kib wrote:Don't you want per-ABI sv_cpu_fork method then?
In D31471#709637, @kib wrote:There is a policy called 'ABI stability'. So far we tried to follow it.
Why break this stuff? Yes, there are people who use very old binaries on modern FreeBSD, and it is a value that we provide.Linuxthreads is/was a native FreeBSD threading library implementing 1:1 threads over FreeBSD processes. It was quite popular to run mysql I believe.
If you want to get rid of support for it, much bigger and more stinky part of it is the 'filedesc leader' stuff (p_fdtol and look from there).
fixed, CLONE_CLEAR_SIGHAND is designed to reset all signal handlers of the child
not set to SIG_IGN to SIG_DFL.
Aug 9 2021
In D31471#709504, @emaste wrote:glibc was aware of this flag, but only uses it on osreldate < 802510
https://sources.debian.org/src/glibc/2.31-13/sysdeps/unix/bsd/bsd4.4/kfreebsd/clone.c/?hl=87
In D31357#706565, @trasz wrote:I wonder if we should move the old defines from linux_file.h somewhere under sys/x86/linux/, to prevent future confusion?