<bslsk05>
github.com: sqlite/src/os_unix.c at master · sqlite/sqlite · GitHub
<heat>
they don't even like them!
<nikolar>
kek didn't know that having threads messes with them
<heat>
If a process closes any file descriptor referring to a file,
<heat>
then all of the process's locks on that file are released,
<heat>
obtained
<heat>
regardless of the file descriptor(s) on which the locks were
<nikolar>
fun stuff
<kof673>
there is a second part to that: > This is bad: it means that a process can lose its locks on a file such as /etc/passwd or /etc/mtab when for some reason a library function decides to open, read, and close the same file.
<kof673>
"this is bad" lol
levitating has quit [Remote host closed the connection]
<kof673>
so code doesn't even have to itself directly do this
levitating has joined #osdev
the_oz_ has joined #osdev
Dead_Bush_Sanpai has joined #osdev
the_oz has quit [Ping timeout: 248 seconds]
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<zid`>
it starts with forgot to take and ends with his meds
<nikolar>
lol
<the_oz_>
this thing is rasdically different, cannot be specified by interface, patented, and changes how you use everything else NOT it
<_ngn>
what is he even tryna do i dont understand
<the_oz_>
Surely that sounds like FreeBSD
<zid`>
If you could understand, it wouldn't be in the DSM
<GeDaMo>
Programs are dangerous so they're not allowed to run :|
<the_oz_>
>inb4 suckless clone
<the_oz_>
johntaves
<the_oz_>
OP
<the_oz_>
•
<the_oz_>
The GPL difference between Linux and XXBSD is the issue. The stake holders are doing this for profit, so we can't use the Linux GPL. I am not familiar with the variations of BSD, so I didn't select FreeBSD over XXXBSD. I just found this reddit and thought I would get responses.
<the_oz_>
15h ago
<the_oz_>
oops, markup shitty
<the_oz_>
OH COOL so you aren't familiar with BSDs at all and think they give a shift of your proposed antiRMS problems
<netbsduser>
you don't understand, it's secretly amazing but you won't be seeing it unless you sign his NDA, oh no
<_ngn>
op: you cant use linux to make profit
<_ngn>
lol
<nikolar>
lol
<the_oz_>
at first I was like what is this, capsicum?
the_oz_ has quit [Remote host closed the connection]
the_oz_ has joined #osdev
nur has joined #osdev
heat_ is now known as heat
<nikolar>
true dat heat
<heat>
average posix advisory locks fan i guess
MiningMarsh has joined #osdev
FreeFull has quit [Quit: Rebooting]
FreeFull has joined #osdev
obrien has joined #osdev
mrkajetanp has joined #osdev
<heat>
i want to note how remarkably fucked it seems to be to bootstrap a package manager
<heat>
if nothing because inevitably python gets in the dependency chain and thats a PITA
<heat>
i tried bootstrapping muon to dodge that but the bootstrap is also slightly screwed so i'm just cross compiling all of these things
<nikolar>
what package manager are you bootstrapping
<sortie>
heat: I have python, no problems, would you like assistance?
<heat>
i was trying rpm
<heat>
hence the sqlite
<heat>
sortie, i also have python but it's inevitably not easy to bootstrap
<sortie>
heat: I am a bit confused, can you clarify what you mean?
<heat>
i'm not sure if its even possible or likely without fucking around
<heat>
python is big and has a bunch of dependencies
<sortie>
But you already have those dependencies?
<sortie>
Since you have python
<heat>
and those dependencies have build systems, etc. but meson is literally python :)
<heat>
well i'm talking about bootstrapping
<heat>
from basically bash + gcc
<netbsduser>
the_oz_: yes, much as i like sqlite, everyone forgets it's wholly serialised
<netbsduser>
that simplifies life considerably
<sortie>
heat: Yeah you gotta drop that thinking
<heat>
not necessarily, i think it's possible, i just can't be arsed
<heat>
like, muon exists and probably kinda works-ish, and that's c89
<sortie>
You need to bootstrap from a system that has the 'core dependencies' (the set of dependencies that need each other to build)
<netbsduser>
muon will hopefully improve in time
<netbsduser>
it has no cross compilation support yet
<kazinsal>
I wish I had the compiler knowledge to do such a thing from scratch
<heat>
muon's bootstrap is fucked and errors out on a function named accept()
<sortie>
You heard me talk so much about the Sortix 1.0 -> 1.1 bootstrap over time and the big trick/issue is that 1.0 has slightly broken ports, but actually has all of the core ports (enough to bootstrap the rest)
<netbsduser>
if they add that i can gladly ditch meson and its oPiNiOnS
<kazinsal>
take one time machine, add in one solid level of compiler and kernel knowledge, shake until viscous, decant into alternate universe
<heat>
BECOME KERNIGHAN *AND* RICHIE
<sortie>
A lot of stuff needs things like perl to build
<heat>
i haven't found perl yet
<sortie>
But perl needs those things
<kazinsal>
perl is a bootstrap of its own
<kazinsal>
the perl I was taught 30 years ago by my uncle as an intro to unix is a different perl to the perl you get today
<heat>
in any case i was trying to bootstrap this from my OS because i kinda want to ditch cross compiling, at least for packages
<sortie>
heat: The big question is why? Why bootstrap from such a minimal system? Just bootstrap from a Linux that already has everything, or from an older Onyx that also has the core deps
<nikolar>
that's reasonable
<nikolar>
cross compiling packages sucks
<heat>
and my OS is perfectly cromulent and performance-acceptable
<sortie>
In that case, why not just use fully-port-equippped Onyx version X to build version X+1? Like I do
<sortie>
Starting from bash + gcc is entirely artificial
<nikolar>
because he presumably doesn't have that
<heat>
i was using fully port equipped onyx
<nikolar>
never mind
<kazinsal>
I should probably write a new OS at some point...
<heat>
but i'm still missing e.g cmake and meson
<sortie>
There's no reason to go to that length unless you want to want to do true bootstrap from like idk 512 bytes and what people do
<heat>
bash + gcc is probably not much harder than my current situation, where i'm still missing a bunch of packages like build systems and shit
<heat>
GNU make should be easy enough to bootstrap with gcc + bash
<nikolar>
good look with autotools though :P
<sortie>
If you wanna go full native build, I encourage that
<sortie>
autotools is easy to port
<nikolar>
just kidding, no clue if it's a pain or not
<nikolar>
there we go
<sortie>
m4 too
<sortie>
Those are not bootstrap issues really
<heat>
make bootstrap sidesteps autotools
<zid`>
It's called m4 because it makes you want to shoot it
<sortie>
cheers m8
<sortie>
heat: It took me a lot of work to get to a full native build but it was doable. I just had to port everything in the core port set and fix the bugs in the ports
<sortie>
I still fully support the cross-build of Sortix as a bootstrap
<sortie>
The nightly builds are all done on Sortix itself
<heat>
yesterday i fucking died fighting with libtool for ages
<heat>
i love autotools
<netbsduser>
cross compiling packages is a big problem
<netbsduser>
a lot of software can't even do it
<heat>
yep. which is why i wanted to sidestep it eventually
<kazinsal>
my main project will never be self hosting. that's a problem for the half million linux dorks out there to solve.
<heat>
particularly when i've dedicated so much time to making it go faaaaast
<netbsduser>
in the longer term i really want to get away from it as well
<sortie>
netbsduser: It's pretty solved by me tbh. I just have a bunch of patches to upstream. If you need any help, talk to me, I can hook you up with how I do it for 90 ports
<sortie>
Cross-compilation has gotten _a lot better_ in the past decade
<netbsduser>
for practicality's sake (and because these aren't too much hassle) i have no objection to carrying on cross compiling gcc, bash, coreutils, and other essentials
<netbsduser>
sortie: i will say that i have done alright so far piggybacking on the work done by managram
<netbsduser>
but then i run into packages which are totally hostile to cross compilation, like gnu smalltalk
<sortie>
All you need is to cross-compile the core ports that can bootstrap everything else
<sortie>
Then native compile the rest
<sortie>
Extra credit if you make everything cross-compialble
<nikolar>
netbsduser: what did you need smalltalk for
<netbsduser>
not "need" per se, i just like it
<nikolar>
apparently void linux supports aarch64 by cross compiling everything
<nikolar>
netbsduser: fair enough, i thought you ran into a package that required it heh
<heat>
AFAIK fedora when bringing up new architectures just cross-compiles the minimal shit and recompiles the whole base system under qemu tcg
<nikolar>
that's slooow but i guess they have plenty of build servers
<nikolar>
arch does it (is trying to at least) by letting the community do it and then integrating it upstream (that's the plan at least) :P
<heat>
arch does it?
<heat>
arch only supports x86_64, the rest is for dorks lol
<bslsk05>
rfc.archlinux.page: 0032 Arch Linux Ports | Arch Linux RFCs
<nikolar>
finally found it
<heat>
some neckbeard will take care of recompiling arch for the sparc
<_ngn>
"This integration is meant to provide infrastructure and community-based support for architectures until they are fully supported by the main distribution"
<_ngn>
theres no community support tho
<nikolar>
what do you mean
<_ngn>
ive tried archlinux32 once on my old 32 bit laptop
<nikolar>
there are arch ports to arm and ppc at least
<_ngn>
i couldnt even complete the install
<nikolar>
meh, arm arch and powerpc arch is apparently fine
<nikolar>
i am not surprised that stuff doesn't work on i686
<nikolar>
also didn't know that was a riscv port either
<heat>
yep and it seems to have almost all of the packages built, pretty cool
<nikolar>
those are just the core packages mind yuo
<heat>
nah, see extra
<heat>
87% of packages
<nikolar>
oh i am dumb, never mind
<nikolar>
that's impressive
<nikolar>
better than aarch64 somehow
<heat>
funnily enough it's managed by an arch developer :)
<nikolar>
lol yeah that would help
<nikolar>
i assume those must be cross compiled
<nikolar>
imagine building anything on riscv
<heat>
the fedora people did
<heat>
i assume it's 100x more palatable if you have real hardware for it
<nikolar>
there isn't much good hardware though
<nikolar>
i have a visionfive 2 and it's dog slow
<heat>
how dog slow?
<nikolar>
well, the kernel took over an hour
<nikolar>
and it was quite stripped down, didn't even have tun
<nikolar>
or tap
<nikolar>
forget which is which
<heat>
tun is protocol-level, tap is link-level
<heat>
tbf that's not entirely terrible
<heat>
could you build binutils?
<nikolar>
didn't try, but yeah, presumably
hwpplayer1 has joined #osdev
<nikolar>
i'll give it a go at some point i guess
<heat>
it's the easier way to derive build speed, it's what LFS uses
<heat>
my rpi i'm pretty sure can't complete a build of any kind, but that might be due to the sd card
<nikolar>
kek
<the_oz_>
Do implementors of MMU paging memory usually keep the implementing tables only in the physical memory layer, or represented in the virtual layer as well?
<heat>
what
<heat>
can you rephrase the question in a way that makes more sense
<the_oz_>
virtual -> physical, then create paging table mappings in the virtual layer
<the_oz_>
can you help me provide the missing information you require by delineating what I'm failing to reach you on this?
<heat>
please explain what you mean by: 1) implementor 2) implementing tables 3) physical memory layer 4) virtual memory layer
<zid`>
virtual memory is an integer mapping, and if anybody 'implements' it, it's the cpu.
<zid`>
I assume you mean something to do with memory allocation, but who knows
<Mutabah>
I assume it was "do kernels keep the page tables mapped as data pages"?
<Mutabah>
in which case, the answer is usually yes - because that way the kernel can update the mappings as needed
<the_oz_>
1) writing paging structures to take advantage of the MMU hardware on x86_64 only for now. 2 from the perspective of a bootloader bootstrapping from physical memory only, though the question has further implications about os design than that. in particular setting up the 512 quadwords to get the minimal required state necessary to kickstart maybe a few working pages. 3: physical memory is what it is. no paging, flat segmentation but that's because I
<the_oz_>
have to set that up first
<the_oz_>
4: virtual is the layer you set up with the paging working
<the_oz_>
So yes the cpu is a part of the implementation, but just so much is the design of the user of the cpu
mrkajetanp has quit [Ping timeout: 246 seconds]
<the_oz_>
Mutabah, I see.
mrkajetanp has joined #osdev
Matt|home has joined #osdev
levitating__ has joined #osdev
Matt|home has quit [Quit: Client closed]
Matt|home has joined #osdev
<netbsduser>
yes, most of a virtual memory system is usually portable ever since mach proved it was doable
Matt|home has quit [Quit: Client closed]
<netbsduser>
the_oz_: i manipulate the tables through a direct map, some kernels (targeting platforms with a dearth of virtual address space) use a virtually linear mapping
levitating__ has quit [Remote host closed the connection]
levitating has joined #osdev
Matt|home has joined #osdev
<heat>
>kopensolaris-gnu
<heat>
is there something i don' know about?
Arthuria has joined #osdev
nadja has quit [Quit: bye!]
Matt|home has quit [Ping timeout: 256 seconds]
nadja has joined #osdev
<netbsduser>
heat: that'll be os-dyson
<netbsduser>
or maybe what-was-it-called
<netbsduser>
nexenta?
Arthuria has quit [Ping timeout: 260 seconds]
voidah has joined #osdev
mrkajetanp has quit [Ping timeout: 265 seconds]
X-Scale has quit [Quit: Client closed]
xenos1984 has quit [Ping timeout: 246 seconds]
jedesa has quit [Remote host closed the connection]
voidah has quit [Remote host closed the connection]
[[R]] is now known as rbox
Benjojo has joined #osdev
hwpplayer1 has quit [Read error: Connection reset by peer]
marcopolo2 has joined #osdev
hwpplayer1 has joined #osdev
voidah has joined #osdev
voidah has quit [Ping timeout: 252 seconds]
gog has joined #osdev
xenos1984 has quit [Ping timeout: 252 seconds]
hwpplayer1 has quit [Read error: Connection reset by peer]
voidah has joined #osdev
<kof673>
> The GPL difference between Linux and XXBSD is the issue. The stake holders # well even that is a funny word > A third person, chosen by two or more persons, to keep in deposit property, the right or possession of which is contested between them and to be delivered to the one who shall establish his right to it
<kof673>
which is not to say anything but SNAFU
mrkajetanp has joined #osdev
xenos1984 has joined #osdev
mrkajetanp has quit [Ping timeout: 246 seconds]
<kof673>
noone ever thinks "who is actually holding the beer?" another word is, the dealer, ok that's enough :)
<heat>
RPM version 4.19.1.1
<heat>
yeehaw
* mjg
burps
<mjg>
what's up pieces of sh^W^W^W^W^Whello
<heat>
i'm porting rpm
<mjg>
lol
<nikolar>
oi
<heat>
did you know they use posix advisory locks
<mjg>
i regert looking
<mjg>
yes
<heat>
sqlite that is
<mjg>
there used to be a massive adjacent luller
<mjg>
idk what happens there now, but dnf used to have hand-rolled locking which DID NOT FUCKING WORK (lol)
<mjg>
and things were mostly fine only because apart from that there was locking stemming from rpm
<mjg>
:dd
<heat>
i haven't looked at dnf yet
<heat>
all i know is that i'm BASED and REDHATPILLED
<mjg>
it used to be an exemplary redhatware
<mjg>
basically stupid shit written by someone who only ever adminsitered their laptop
<mjg>
but yes, on some piece of shit linux you could have a partition for apt-modifiable files
<sortie>
heat Oh cool you're running Linux
<mjg>
and sync that
<mjg>
fucking SOLARIS creates a zfs snapshot it boots into
<mjg>
on pkg updates
<sortie>
The uppercase letter in your default hostname pains me, heat
<mjg>
A+ stamp of approval, no fsync needed for every file sperately
<mjg>
also note it provides atomic updates
hwpplayer1 has quit [Remote host closed the connection]
<sortie>
Real men upgrade using tar(1)
<mjg>
if something went to shit in the middle you just end up booting to the stable state
<sortie>
tar -xf and it's fine don't worry about it
<nikolar>
i agree, snapshots for the win
<mjg>
so there, no fsync for each file needed after all
<nikolar>
yeah, just creating a snapshot
bencevans has joined #osdev
<heat>
consider this: i'm not using one of your btree bsd-land pony filesystems
<sortie>
bsdtree
<heat>
we use blocks baby, we use blocks with block groups and INODES and JOURNALS and EXTENT TREES and INDIRECT BLOCK TREES
<heat>
none of that pansy ass smile for the filesystem bullshit
<mjg>
L. F. Mao
<nikolar>
loller
<mjg>
"so i was eating shit with a fork, should i use a spoon?"
<nikolar>
kek
<mjg>
no heat, don't heat shit
<nikolar>
ZFS ZFS ZFS
<mjg>
jokeren aside
<mjg>
suppose you have this lol fs
<mjg>
i described what to do about it
<mjg>
with 2 dir trees
<mjg>
and some hardlinken
<mjg>
you can still get atomic updates
<mjg>
and not need to fsync separately
<mjg>
it does require a dedicated setup tho, not arbitrarily fucked up dir tree
hwpplayer1 has joined #osdev
<geist>
btree ftw. i've been slowly working on my btree lib. its pretty fascinating how much fan out you can get with large blocks
<geist>
with 4k blocks i can dump about a mil nodes in and the depth of the tree is like 4
<geist>
with 16k blocks it's like 2
<heat>
you're doing your own fs?
<geist>
iirc btrfs uses 16k blocks in its tree
<geist>
well, i dunno, but btrees are fascinating. and there's not really any good BSD/MIT licensed generic btree libs
<mjg>
hm
<geist>
could use it for other things inside a VM or whatnot too
<mjg>
that would be surprising
<mjg>
i guess the biggest real-world btrees happen to be gpl
<geist>
basically
<mjg>
of the os stuff
<mjg>
(oepnsource i mean)
<geist>
as part of some thing, tuned for the specific thing it does
<heat>
maple is insane and great
<mjg>
maple syroup
<geist>
syzurp
<heat>
legitimately 8000 lines of code
<heat>
for a single data structure
<mjg>
i had a choice what to do: learn more about queueing theory, more about compilers or more about chess
<geist>
last thing i used called maple was a math program in college
<mjg>
i decided to procrastinate on youtube
<geist>
basically a easier and lightweight matlab
<nikolar>
mjg: lol go with queueing theory
<nikolar>
it's simple enough
<mjg>
there is a guy who is a massive ASS
<mjg>
in the area
<mjg>
guy seems like me, except he knows *that* stuff
<mjg>
google for neil gunther
<mjg>
anyway dude has a bunch of books and whatnot on the matter
<mjg>
i mean general perf analysis & capacity planning, which necessarily comes with some queueing theory
<nikolar>
yeah we had some queueing theory at uni
<nikolar>
pretty simple to start with
<mjg>
dawg i'm talking some seroius stuff, not lol exercises simulating a barber shop
<geist>
i seemed to remember being pretty dissapoint with OS class in college. seemed to spend most of its time on theoretical stuff
<geist>
queues, scheduling, etc
<geist>
all in the abstract. boring.
<heat>
msdos
<heat>
segmentation
<kof673>
you weren't joking lol > For example, the bullet journal may be used for its functionality, and organization, or as an outlet for creativity
<heat>
dining philosophers
<geist>
msdos and segmentation would be interesting at the time. it was all abstract
<mjg>
dawg academia is genuinely a bad place if you want to learn stuff, even theoretical
<mjg>
:d
<geist>
all our homework was like 'in this pre-made C project, fill in the scheduler algorithm function'
<heat>
if you want to LEARN STUFF work at RED HAT
<geist>
on SOLARIS
<mjg>
heat: FACTS
<mjg>
even in my shite college everyone good worked in the industry
<mjg>
and was teaching on the side
<geist>
actually ire embmer it being kinda annoying, because their OS class homework all involved linking with some .a lib that simulated something, and it was only available on solaris
<geist>
so you couldn't work on your personal linux box
<heat>
hahaha
<mjg>
lol
obrien has left #osdev [#osdev]
<heat>
wait, linux box?
<heat>
when was this?
<geist>
well this was like 1997
<mjg>
so for example our physics lab department was running novell networking on dos
<heat>
linux was already that popular in 97?
<mjg>
in 2006
<mjg>
:D
<mjg>
i mean
<mjg>
fuck me
<mjg>
guy doing operating system lectures had a laptop with windows 98
<geist>
linux was not that popular in 97. but lots of CS folks had one. so having a 'personal linux box' was a treat that let you work faster than others
<mjg>
again in 2006
<mjg>
meanwhlie his TAs were all on linux
<mjg>
one was pretty good too
<heat>
one has to hope he had the nt subsystem installed
<geist>
except situations like this where you had to work on school computers
<heat>
wait, 98 wasn't even NT :(
<GeDaMo>
I first installed Linux in 1994 so I could work on a Unix and C course at home
<geist>
sure it was. my windos machine was NT since about 1996
<geist>
NT 4.0 was 96
<mjg>
he says windows 98 was not nt-based
<heat>
windows 98 wasnt nt
<geist>
oh i see, win 98. not the year 98
<mjg>
not about date of release
<mjg>
so
<mjg>
it should give you an idea how much of a red flag it was in 2006
<mjg>
:d
<mjg>
dude was a fossil which could not have been retired due to politics
<geist>
prolly just had an ancient laptop that could't run anything newer
<mjg>
which is 90% of academia
<geist>
and was using the same ol lectures from 10 years prior
<mjg>
nope
<geist>
i think it's cute he had a laptop in the class. wasn't using an overhead projector
<geist>
like back in My Day
<mjg>
the standard issue was some mid corp laptop with windows xp
<mjg>
that 98 shit was deliberate choice
<nikolar>
he could've probably ran linux on it :P
<mjg>
geist: i know for a fact there were lecturers using physical slides and an overhead projector at least until 2012
<mjg>
:d
<mjg>
nikolar: yes, but suppose it was a microsoft guy
<nikolar>
kek
<geist>
or just suppose that was against the rules
<geist>
that being said in late 90s/early 2000s i wouldn't really want to run linux on a laptop
<mjg>
that was not the case tho, i know the IT people over there and they are very much linux-friendly
<geist>
was still in the era of lots of unsupported devices due to lack of drivers
<nikolar>
i mean one guy is hosting arch linux repos at my uni
<kof673>
98 may have ran some dos thing better, but .....
<heat>
did you know openbsd supports s0ix
<nikolar>
(i mean one IT guy)
<nikolar>
s0ix?
<heat>
it's a new way of suspending your system, basically instead of S3 it pops into a special idle mode
<heat>
new systems can't do S3, only s0ix
<mjg>
supports as in probably tested in all 3 laptop modules used by the dev base
<heat>
which _at least_ up to 2022 was still majorly fucked on linux
<nikolar>
ah cool
<nikolar>
wasn't aware of that
<mjg>
they probably suspend better than linux on those specific laptops
<mjg>
and much worse on everything else
<nikolar>
what was wrong with s3, i though it was fine (tm)
<heat>
you'd close your laptop's lid and put it in your backpack, then take it out 30min later and it's scorching hot
<nikolar>
i don't run windows
<heat>
s3 is slow and massive tech debt
<mjg>
:d
<geist>
heh yeah i remember someone had that problem years ago. laptop would more or less catch on fire in their backpack
<mjg>
which part of hw is not
<mjg>
ouch
<geist>
for what it's worth it's why i've been pretty much mac laptop only since about 2003
<mjg>
i had the laptop overhead once
<mjg>
it suddenly woke up for fuck all reason
<mjg>
in my backpack
<geist>
FWIW they have always been rock solid laptops as far as not fucking up suspend and having good battery life
<nikolar>
i've never had those issues either
<heat>
nikolar, basically S3 is just a fancy way of shutting down your laptop while remembering where it was when it starts up again
<heat>
it goes through all the normal boot paths but then slightly deviates mid path
<geist>
yah we're dealing with proper suspend/resume in fuchsia right now and it's a PITA
<mjg>
for what hw
<geist>
µkernels and suspend are very annoying
<heat>
executes a problematic boot script, then pops you right where you were
<geist>
mostly !x86. where it's far more wild west
<nikolar>
heat: oh right
<mjg>
so you are deviating past bespoke hw?
<geist>
hmm?
<mjg>
i mean supporting suspend/resume on a dedicated product is one thing
<mjg>
trying to support it in general is another
<nikolar>
heat: so what does s0ix do better
<geist>
yes and no. we have to do the latter because µkernel. most of the work is in the distributed driver stuff
<geist>
which you have to do no matter what
<geist>
the actually going into suspend part at the end is pretty small amout of per hardware logic
<heat>
nikolar, it leaves you in normal operation, in the middle of the kernel, just in a _really_ idle power state
<mjg>
but if you only support one appliance you don't need to work around hw-specific problems other than for that appliance
<kof673>
yes, old hw has the advantage of being dead
<geist>
but where we didn't really get thigns right and should have done suspend earlier is notion of clock timelines and whatnot
<kof673>
if it is documented, hopefully is frozen in time
<geist>
it's about modifying the notion of the boot timeline since having the clock tick through suspend is not a given
<heat>
you forgot to cc mjg
X-Scale has joined #osdev
<geist>
anyone is free to comment, tat's why the RFCs are all public
<mjg>
heat: dawg no #mm jokes
<geist>
for better or worse one of the details that makes things a little complicated on fuchsia is everything is absolute time based. i think it fixes a tremendous amount of issues across the board
<geist>
but it means all sleeps/suspends/timeouts/etc are all absolute time
<geist>
no relative time in any of the syscall layer
<geist>
also there's an object for time and timers you can create that lets you do more complex things
<heat>
i'm doing absolute time internally in the kernel's timers
<heat>
but it's totally changeable
<heat>
and ofc the posix api in general does not deal in absolute timeouts
<geist>
right, that's the general issue
<geist>
though can usually be emulated reasonably well, except for high resolution repeatable things that dont pick up skew
<geist>
that's one of the reasons we have a Timer object that you can create that will generate ticks or whatnot based on how you set it up
vdamewood has joined #osdev
wgrant has quit [Ping timeout: 260 seconds]
pabs3 has quit [Ping timeout: 246 seconds]
levitating has joined #osdev
kilic has quit [Quit: Leaving]
levitating_ has joined #osdev
levitating has quit [Ping timeout: 252 seconds]
pabs3 has joined #osdev
<heat>
my rpm expands my %{_arch} to... %{_arch}
<heat>
it's a little fucked isn't it
<nikolar>
why would it .. not report errors
<nikolar>
or is that a bug in your libc or something
dslaveone has joined #osdev
dslaveone has quit [Quit: Konversation terminated!]
<heat>
i think it's supposed to be defined in another file
<mjg>
the spec format is a joke
<mjg>
my favourite part is rm -rf which you have to execute on your own
<mjg>
lmao
<mjg>
i find it particularly cute when sme of the the spec files empty-check the var used for rm -rf before issuing it :D
goliath has quit [Quit: SIGSEGV]
<heat>
yep, that was it, %{_arch} was fucking up the makefile
stolen has quit [Quit: Connection closed for inactivity]
MarianG has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
xvmt has quit [Read error: Connection reset by peer]
xvmt has joined #osdev
aethlas_ has quit [Quit: bye]
aethlas has joined #osdev
_ngn has quit [Quit: WeeChat 4.4.1]
levitating__ has joined #osdev
<heat>
rpmbuild is DOOR STUCK DOOR STUCK and i'm slightly concerned
levitating_ has quit [Ping timeout: 260 seconds]
<heat>
it's looping on a pselect6 :(
<nikolar>
:)
<heat>
oooh i found a select bug!
<nikolar>
nice
<heat>
yeah turns out i wasn't properly reporting POLLHUPs and the sort, so it was looping for a condition it never got
<netbsduser>
what was it waiting on?
levitating__ has quit [Ping timeout: 260 seconds]
<heat>
a pipe which got disconnected from the writer's side