ChanServ changed the topic of #zig to: zig programming language | https://ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
ky0ko has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
mikdusan has joined #zig
tane has quit [Quit: Leaving]
<andrewrk> g-w1, all known deadlocks are now fixed
<g-w1> thanks, when the next tarball comes hopefully its fixed!
<mikdusan> hey gang, macOS question here: anyone know if we use/expect zig's os semantic versioning (ie. os.version_range.semver.min / max) where 10.16.* is expected for Big Sur? or can we simply represent Big Sur as 11.minor.patch ?
ur5us_ has joined #zig
ur5us_ has quit [Ping timeout: 260 seconds]
<andrewrk> hi mikdusan! yep, 11.x.y is big sur
ur5us_ has joined #zig
nycex has joined #zig
r4pr0n has joined #zig
<mikdusan> not sure if it's been mentioned but there is a caveat here. Apple in their wisdom has decided that based on SDK you build with,
<mikdusan> that dictates what is returned by sysctl("kern.osproductversion", ...).
<mikdusan> example: on Big Sur, I can use SDK 10.15.x or probably even older. or I can use SDK 11.x . pre 11.x SDK returns "10.16" and 11.x SDK returns "11.1"
ur5us_ has quit [Quit: Leaving]
gpanders has quit [Quit: ZNC - https://znc.in]
gpanders has joined #zig
<marler8997> congrats on fixing the deadlock...not an easy task
a92 has quit [Quit: My presence will now cease]
Kingsquee has joined #zig
<andrewrk> thanks
<andrewrk> mikdusan, hmm and that's what we're using to detect the OS version?
<mikdusan> andrewrk: yes, currently we do sysctl on MIB kern.osproductversion then fallback if that fails (ie. older releases than 10.13.6) to essentially a table using key from MIB kern.osversion. this fallback is less and less important as Zig is unlikely to run on such old versions,
waleee-cl has quit [Quit: Connection closed for inactivity]
<mikdusan> #5125 outline that we could just quick-parse /System/Library/CoreServices/SystemVersion.plist and grab the key ProductVersion
<mikdusan> and I'm about ready to do that now that Big Sur is forcing our hand
<mikdusan> but boy is Apple funny how they implemented this compatibility version thing. ie: old SDK return 10.16, otherwise 11.1 or whatever; but it looks like parsing that .plist file is off the table now too. dammit apple:
<andrewrk> oof
<mikdusan> and yes, a binary that is built with older SDK that opens the same file... you guessed it... it returns a compatibility version string 10.16,
<fengb> Schrodingers OSX
<mikdusan> I found this out the hard way because my `cat` was from macports that I built on 10.15 lol....
Kingsquee has quit []
mikdusan has quit [Quit: WeeChat 2.5]
r4pr0n has quit [Remote host closed the connection]
spiderstew_ has joined #zig
spiderstew has quit [Ping timeout: 260 seconds]
jjido has quit [Quit: Connection closed for inactivity]
<andrewrk> cCCCCcccccCCc, idk if you saw but all known deadlock issues are now resolved
hnOsmium0001 is now known as hnOsmium0002
hnOsmium0002 is now known as hnOsmium0001
squeek502 has quit [Remote host closed the connection]
cole-h has quit [Ping timeout: 240 seconds]
<pixelherodev> Hooray! Nice work!
dumenci has joined #zig
jjsullivan has quit [Remote host closed the connection]
<pixelherodev> andrewrk: thanks for having a grammar already, really makes my life easier :)
squeek502 has joined #zig
<pixelherodev> I think I might use string interning...
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
leah2 has quit [Ping timeout: 264 seconds]
alexpana has joined #zig
leah2 has joined #zig
bgiannan has joined #zig
<cCCCCcccccCCc> andrewrk: I just tested it a moment ago and hopped on to let you know it works great. Thanks for all the hard work over the holidays, you're a legend!
ifreund1 has joined #zig
dumenci has quit [Quit: Leaving]
ifreund has quit [Ping timeout: 256 seconds]
ifreund1 is now known as ifreund
m314 has joined #zig
riba has joined #zig
m314 has quit [Ping timeout: 240 seconds]
Snetry has quit [Ping timeout: 272 seconds]
cren has joined #zig
Snetry has joined #zig
cole-h has joined #zig
nycex has quit [Quit: Quit]
nycex- has joined #zig
<g-w1> andrewrk: the deadlock is fixed!!!!!!!! time to compile all the c code! tysm
xackus has joined #zig
<protheory8-new-m> Is there something like `std.atomic.Queue` but with a function that blocks the thread if there is no nodes in the queue?
waleee-cl has joined #zig
<protheory8-new-m> Like a blocking `get` function or something
<companion_cube> You can do one with a mutex and condition, if not
mtiljeset[m] has joined #zig
m314 has joined #zig
quajzen has joined #zig
marijnfs has quit [Ping timeout: 264 seconds]
quajzen has quit [Remote host closed the connection]
semarie has joined #zig
<scientes> protheory8-new-m, you mean it is full?
<scientes> that is a semaphore, not a mutex
<scientes> (but they are similar)
<scientes> or similar to go channels
<scientes> buffered channels
l1x has quit [Quit: Connection closed for inactivity]
<protheory8-new-m> scientes: No, I mean when there are 0 zero elements in the queue
<scientes> go buffered channels do that too
<scientes> and the unbuffered too...
<semarie> hum. I need to allocate data with alignment know at runtime. but Allocator interface seems to only have alignment configurable at compile-time. any idea how to proceed ?
<scientes> semarie, generally you would use the largest alignment
<scientes> unless you are writing an allocator
<scientes> semarie, because you need to compile the code for every alignment
<semarie> I am implemention emutls. the alignment is know at runtime and the system will expect found allocated data with requested alignment
<semarie> else, I would need to directly call posix_memalign()
<companion_cube> scientes: no, you don't need a semaphore to implement that
swills has joined #zig
<justin_smith> semarie: I guess the tedious but flexible approach is to @pointerCast to an array of the smallest alignment, and walk by bytes and fill? I guess this is error prone also
<justin_smith> I might be missing something obvious
Pistahh has quit [Remote host closed the connection]
leeward has joined #zig
Pistahh has joined #zig
m314 has quit [Remote host closed the connection]
ur5us has joined #zig
gpanders has quit [Ping timeout: 265 seconds]
gpanders_ has joined #zig
hnOsmium0001 has joined #zig
ifreund1 has joined #zig
ifreund has quit [Read error: Connection reset by peer]
ifreund has joined #zig
ifreund1 has quit [Ping timeout: 240 seconds]
cren has quit [Quit: cren]
sjd has joined #zig
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #zig
gpanders_ has quit [Read error: Connection reset by peer]
gpanders has joined #zig
cole-h has quit [Quit: Goodbye]
<oats> if I want to compare pointers (i.e., less than, greater than, etc.) do I have to convert them to ints first?
<oats> gotta say, I was a little disappointed I can't do comparison on [*]T pointers :P
<ikskuh> oats, i think it's reasonable to convert to int first
<oats> fair enough
mikdusan has joined #zig
r0bby has quit [Ping timeout: 260 seconds]
waleee-cl has quit [Ping timeout: 260 seconds]
procnto has quit [Ping timeout: 260 seconds]
dch has quit [Ping timeout: 260 seconds]
riba has quit [Ping timeout: 246 seconds]
dch has joined #zig
procnto has joined #zig
r0bby has joined #zig
waleee-cl has joined #zig
cole-h has joined #zig
cole-h has quit [Client Quit]
cole-h has joined #zig
<fengb> Hmm... the underlying allocator implementations only receive a runtime alignment. I’m curious why the interface enforces comptime
ur5us has quit [Ping timeout: 260 seconds]
<g-w1> I have a question about inferred error sets in stage1, on analyze.cpp:4826, in resolve_inferred_error_set, analyze_fn_body is called which calls analyze_fn_ir, which calls ir_analyze which seems to just analyze the function. where does actually returning an error type add to the error set? and am I missing something or does trying to use an inferred_error_set with resolve_inferred_error_set just
<g-w1> analyze the function in the body to get the error set, or does it add it to some type of resolve_queue? thanks
cole-h has quit [Quit: Goodbye]