00:00:33 <esolangs> [[Counting Calculus]] M https://esolangs.org/w/index.php?diff=83942&oldid=83939 * PythonshellDebugwindow * (+54) Categorize
00:02:32 <esolangs> [[User:Salpynx/Braneflage]] M https://esolangs.org/w/index.php?diff=83943&oldid=83941 * Salpynx * (+2) /* Program Commands */ that looks better. Hopefully it's correct too.
00:20:52 <nakilon> int-e how does Wuste Ebenen translate? https://i.imgur.com/vbqqJtI.png
00:21:57 <int-e> Wüste = desert, Ebene(n) = plain(s)
00:23:33 <nakilon> because there is a obscene word Ebenya meaning "something fucking far/disconnected", that is traditionally considered made out of such word as "ebat'" "fuck", "zaebenit" "fucking make smth"; but now seeing the word "Ebenen" on the map I'm thinking that the etymology is not like people use think
00:24:42 <nakilon> hah, cool, because that's exactly how another map says: https://i.imgur.com/9D72Uk2.png
00:32:03 <keegan> ah so it's similar to the English term "bumfuck" / "bumfuck nowhere"?
00:32:11 <nakilon> Wiktionary says that "ебать" is protoslav "*jěbati" and is the same in Serbian, Czheh, Slovak, Pol; and is related to sanskrít . यभति (yabhati) and ancient greek. οἴφω, οἰφέω; but now I don't believe Wiktionary that ебеня is from there, because it's too close to your word
00:33:21 <keegan> found one reference to the russian word on twitter https://twitter.com/cybersandwitch/status/1285193689732718593
00:33:31 <keegan> i actually have a dead-tree book of photos of soviet bus stops
00:33:38 <nakilon> what Wiktionary says on German Ebene: From Middle High German ebene, from Old High German ebanī, from Proto-Germanic *ebnaz, whence also Old English efen (English even), Old Norse jafn.
00:33:41 <keegan> i saw it at a bookstore and was immediately like yes I need this
00:34:28 <nakilon> keegan how do I see the parent tweet?
00:36:25 <nakilon> either I'm idiot in twitter or it's deleted (
00:42:49 <b_jonas> in C, do we know what format __DATE__ will have after year 10000? I want to use it to give a likely branch hint in a date formatting routine so that before 9995 or so the branch that writes a four digit year is considered likely, but after 10000 the branch that writes a five digit year is considered likely instead
00:43:41 <keegan> nakilon: https://twitter.com/ItsDanThomas/status/1284808430167957504
00:44:03 <keegan> b_jonas: excellent idea
00:44:31 <b_jonas> I guess I could just have something in the build script that detects the date instead and defines macros accordingly, and then test those macros instead of __DATE__
00:44:43 <keegan> yes, this is the book I have https://twitter.com/ItsDanThomas/status/1285306157645660161 (vol 2 only)
00:45:04 <nakilon> keegan heh you'll never find such stops
00:50:38 <keegan> I admire your long-term planning b_jonas
00:51:39 <keegan> nakilon: I mean, I probably won't
00:51:44 <keegan> because I'm unlikely to visit Russia any time soon
00:51:52 <nakilon> these blogs posts copypasting these images made it impossible to google real examples lol
00:52:40 <fizzie> Preprocessor Macro of the Long Now.
00:54:42 <nakilon> keegan this is a little bit closer to reality https://www.goingthewholehogg.com/soviet-bus-stops/
00:55:30 <nakilon> but really it's just 1-3 walls with a roof and maybe a little piece of mosaic
00:55:47 <nakilon> real bus stop just won't be photographed and posted in web
00:56:45 <nakilon> and it would be by magnitude harder to find soviet one in Russia than in Ukraine or maybe Moldova
00:59:40 <nakilon> oh nice, the Yandex Images search is expectedly more relevant and shows some real things instead of just top-10 blog articles: https://yandex.ru/images/search?text=%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%B2%20%D0%B5%D0%B1%D0%B5%D0%BD%D1%8F%D1%85
01:00:24 <nakilon> this is it: https://yandex.ru/images/search?pos=74&p=1&img_url=https%3A%2F%2Fi7.photo.2gis.com%2Fimages%2Fgeo%2F0%2F30258560046534811_308c.jpg&text=%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F+%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+%D0%B2+%D0%B5%D0%B1%D0%B5%D0%BD%D1%8F%D1%85&rpt=simage
01:00:44 <pikhq> keegan: well there's a subject i didn't realize i was interested in but i absolutely am now
01:02:09 <nakilon> and there are all Ukrainian as I see https://bugaga.ru/jokes/1146723770-sdelano-v-sssr-avtobusnye-ostanovki.html
02:09:40 <nakilon> heh, about privacy: 5 years ago here https://www.google.com/chrome/browser/desktop/ there was a Chrome, i.e. not a Google Chrome but almost a Chromium, that is almost without telemetry and stuff; but now it's Google Chrome there, and the FreeSMUG project was closed in 2020 too
02:12:33 -!- dyeplexer has joined.
02:15:40 -!- dyeplexer has quit (Remote host closed the connection).
02:27:36 <zzo38> I write software without telemetry; the telemetry is a waste of energy.
02:30:02 -!- mla has joined.
02:48:18 <Corbin> Is there an esolang which is just a presentation of a Turing category? I found the language "Finite Groups", and I'm thinking of a cross between that and Cat/Kitten/Grace/etc.
02:48:44 <nakilon> my QuakeLive browser extension was sending users usernames to my Spreadsheet so I knew who used it; Google didn't catch me with it
03:24:03 -!- tiggilyboo has joined.
03:26:06 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
03:27:11 -!- Lord_of_Life has joined.
03:37:59 <esolangs> [[Talk:Polyglot]] https://esolangs.org/w/index.php?diff=83944&oldid=83833 * ColorfulGalaxy * (+46) /* Challenge */
03:42:10 <esolangs> [[Hello, world!]] https://esolangs.org/w/index.php?diff=83945&oldid=75658 * ColorfulGalaxy * (+254)
03:46:24 <nakilon> wtf does kolmogorov have to do with hello world
03:52:58 <Corbin> Some numbers are more compressible than others, in the Kolmogorov sense that they can be printed out by relatively short programs. "Hello world" is a number. I think that that's all that they're thinking of.
03:59:44 -!- tiggilyboo has quit (Quit: tiggilyboo).
05:26:07 <zzo38> Do you think that this trademark license is suitable? http://sprunge.us/iagkJb
06:08:48 <cd> i've been (trying) to run a hb instance for a bit, damn thing's fiddly but it works
06:09:00 <cd> thought it'd be funny to see what that network makes of it
06:15:26 <cd> int-e: atm the hiccups it has are 1) I didn't fully fix the ping code so it randomly times out on pissnet (I'm tired gimmie a breakkkkk), and 2) very very rarely umlbox init hangs for no apparent reason, and I can't seem to ever repro it
06:16:04 <int-e> cd: sounds like fun
06:18:58 <cd> `` mknod stall p && cat stall
06:19:08 * cd is curious if this is the first "oops eso broke" in a while
06:26:32 <esolangs> [[Nevermind]] https://esolangs.org/w/index.php?diff=83946&oldid=83881 * OfficialCraftCGame * (-1)
06:27:11 <esolangs> [[Nevermind]] https://esolangs.org/w/index.php?diff=83947&oldid=83946 * OfficialCraftCGame * (+0)
06:28:06 <cd> oh hey, a no output
06:28:14 <cd> nearly 10min later
06:33:46 <int-e> generous, but not quite 10 minutes :)
07:31:24 -!- imode has quit (Ping timeout: 272 seconds).
07:40:50 -!- Sgeo has quit (Read error: Connection reset by peer).
07:58:35 -!- FireFly has changed hostmask to firefly@glowbum/gluehwuermchen/Firefly.
08:10:55 -!- hendursaga has quit (Ping timeout: 252 seconds).
08:15:02 -!- hendursaga has joined.
08:46:28 -!- Thelie has joined.
09:43:46 <fizzie> Ooh, first-ever recorded CHGHOST: https://logs.esolangs.org/libera-esolangs/2021-06-04.html#lmb
09:43:50 <fizzie> And how come that takes long? Sure, it's a blocking read, but so's many other things, it should react to SIGTERM just as usual.
09:47:07 <nakilon> that's just cloaking, right? had to be recorded earlier
09:47:27 <fizzie> It was recorded as a simulated quit-and-rejoin pair, not as a CHGHOST.
09:48:07 <fizzie> I just turned on the extension that allows it to report it as a single thing, is all.
09:49:53 <fizzie> FireFly: You made history. (Not in a very big way, but still.)
09:50:33 <fizzie> I vaguely remember there used to be something screwy about how umlbox handles time, maybe it's just that its notion of 30 seconds gets real skewed.
09:53:24 <fizzie> `` sleep 1; echo a second
09:53:32 <fizzie> `` sleep 2; echo two seconds
09:53:42 <fizzie> `` sleep 4; echo four seconds
09:54:05 <fizzie> That seems to check out, roughly. But last time it broke when I went for five, somehow.
09:54:12 <fizzie> `` sleep 5; echo five seconds
09:54:36 <fizzie> Well, that was definitely more than 5.
09:54:40 <fizzie> `` sleep 10; echo ten seconds
09:55:14 <FireFly> the world's longest ten seconds
09:56:30 <fizzie> Yeah. I wonder if it's something like, its "wall" clock only runs when there's actually CPU activity, so while a busy-loop gets terminated roughly in the allotted 30 seconds, an entirely idle wait can run for much longer.
09:58:59 <fizzie> Still running, but I don't have any way to tell how far it's gotten.
09:59:27 <Taneb> If someone puts in a busy loop will that be enough for the sleep 10 to catch up
09:59:49 <fizzie> It'd be a separate UML instance, so probably not, they should be fully independent.
10:00:52 <Taneb> 4 minutes and 51 seconds
10:02:16 <fizzie> "Real-time Clock makes UML time deltas match wall clock deltas. This should normally be enabled." Says some random excerpt from an UML book from 15 years ago.
10:08:10 <fizzie> I don't see anything relevant in the kernel config options, really.
10:11:39 <fizzie> There apparently used to be an option called UML_REAL_TIME_CLOCK. But I can find no sign of it in the kernel I've got there (4.19), which might mean it's either no longer an option because it's now on by default, or it's no longer an option because it just isn't supported any more.
10:11:51 <fizzie> https://cateee.net/lkddb/web-lkddb/UML_REAL_TIME_CLOCK.html says "found in Linux kernels: 2.6.9–2.6.23" which was pretty long time ago.
10:13:43 <fizzie> Fortunately timeouts don't really block other non-writing commands from going ahead, so it's not a huge deal if there's a stuck idle process for a few minutes. Still, would be nice to have time work more properly.
10:13:59 <fizzie> Maybe I'll just go with the cheap fix and add an external timeout.
10:14:53 <HackEso> Why are you taking Polly down into the mine? Polly's a parrot, not a canary! And where's my cracker?
10:15:12 <fizzie> Although there's this whole fancy thing with the internal one, where it has a two-phase thing: after 30 seconds, it sends TERM, and then gives the process a 5-second grace period to stop cleanly before sending KILL to it.
10:15:45 <int-e> shouldn't there be a watchdog outside
10:16:29 <fizzie> I guess I could try to figure out how to trigger the soft timeout from the outside, and then have an even harder one (just terminate the UML kernel) if both of those fail.
10:17:53 <int-e> And of course there's the whole R/W-lock thing that we underatand well enough to make this completely blocking.
10:18:11 <fizzie> I mean, it still times out *eventually*.
10:18:56 <fizzie> In case you missed it, the "10 seconds" did already finish.
10:19:44 <int-e> what a pity though
10:20:05 <int-e> but 5 minutes is a good effort
10:20:55 <fizzie> I think I'll probably add an extra TTY to signal in the TERM and KILL timeout triggers from the outside (where I expect time probably does run in a linear fashion), and then add one more phase which just kills the UML process. That'll simplify the init too.
10:22:08 -!- dyeplexer has joined.
10:26:38 -!- Thelie has quit (Remote host closed the connection).
10:56:57 -!- dutch has quit (Quit: WeeChat 3.0.1).
11:19:01 -!- dutch has joined.
11:23:11 <esolangs> [[Nevermind]] https://esolangs.org/w/index.php?diff=83948&oldid=83947 * OfficialCraftCGame * (+0)
11:28:29 <esolangs> [[Nevermind]] M https://esolangs.org/w/index.php?diff=83949&oldid=83948 * OfficialCraftCGame * (+120) Added a link to my python interpreter
11:29:43 <esolangs> [[Nevermind]] M https://esolangs.org/w/index.php?diff=83950&oldid=83949 * OfficialCraftCGame * (+4) Put the links into an unordered list.
11:30:44 <esolangs> [[Nevermind]] M https://esolangs.org/w/index.php?diff=83951&oldid=83950 * OfficialCraftCGame * (+18) Added the page to the 2021 category.
12:23:25 -!- Thelie has joined.
12:37:09 <esolangs> [[NOTE]] N https://esolangs.org/w/index.php?oldid=83952 * ResU * (+729) Created page with "NOTE is an esolang created by [[User:ResU]] in 2021. It uses one-based indexing. ==Arrays== Arrays are created like this: <code>example = Hello, world!</code> In this case, <c..."
12:37:57 -!- imode has joined.
12:47:05 <esolangs> [[NOTE]] https://esolangs.org/w/index.php?diff=83953&oldid=83952 * ResU * (+21) /* Commands */
12:54:35 <esolangs> [[NOTE]] https://esolangs.org/w/index.php?diff=83954&oldid=83953 * ResU * (+35) /* Commands */
13:23:59 <esolangs> [[NOTE]] https://esolangs.org/w/index.php?diff=83955&oldid=83954 * ResU * (+395) /* Examples */
13:24:32 <esolangs> [[NOTE]] https://esolangs.org/w/index.php?diff=83956&oldid=83955 * ResU * (+0) /* Examples */
13:25:23 -!- arseniiv_ has joined.
13:27:37 <esolangs> [[Rayuela]] M https://esolangs.org/w/index.php?diff=83957&oldid=82823 * Xanman12321 * (+0) minor fix
14:20:37 <esolangs> [[Jumping True]] https://esolangs.org/w/index.php?diff=83958&oldid=83931 * MathR * (+56)
14:26:11 <esolangs> [[Jumping True]] https://esolangs.org/w/index.php?diff=83959&oldid=83958 * MathR * (+17)
14:29:20 -!- Sgeo has joined.
14:29:31 -!- Thelie has quit (Remote host closed the connection).
15:00:24 -!- Melvar has quit (Quit: WeeChat 3.0.1).
15:07:51 <esolangs> [[User:ResU]] https://esolangs.org/w/index.php?diff=83960&oldid=83877 * ResU * (+15)
15:52:21 <esolangs> [[User:Epidemic7]] https://esolangs.org/w/index.php?diff=83961&oldid=83624 * Epidemic7 * (-113)
16:00:17 <esolangs> [[Jumping True]] https://esolangs.org/w/index.php?diff=83962&oldid=83959 * MathR * (+24) /* External resources */
16:00:44 <esolangs> [[25 bytes o:]] N https://esolangs.org/w/index.php?oldid=83963 * Epidemic7 * (+308) Created page with "[[Category: Joke languages]] 25 bytes o: is an esoteric programming language designed to be as least functional as possible with the smallest compiler. To it's name, it's 25 b..."
16:04:08 <esolangs> [[25 bytes o:]] https://esolangs.org/w/index.php?diff=83964&oldid=83963 * Epidemic7 * (-5)
16:04:54 <esolangs> [[25 bytes o:]] https://esolangs.org/w/index.php?diff=83965&oldid=83964 * Epidemic7 * (+68)
16:16:19 <esolangs> [[FALSE]] M https://esolangs.org/w/index.php?diff=83966&oldid=58762 * MathR * (+0) Changed "Computational Class" to "Computational class"
16:48:13 <esolangs> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=83967&oldid=83845 * ResU * (+38) /* NOTE */
17:10:18 <HackEso> 2ivncoin wilsonacoin q-ballendsartrecoin mesolammalcoin draysnaterreludenjarercoin bakcoin haifficidumbscoin owlacoin disorcoin witcoin lockcoin tsummagemoneycoin bincoin befernogcoin fcccoin thrugcoin fruntecoin cronycoin adedfourcoin uixcoin
18:34:28 -!- dyeplexer has quit (Remote host closed the connection).
18:35:08 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83968&oldid=83270 * ResU * (+186)
18:51:17 -!- winircuser-780 has joined.
18:59:12 -!- winircuser-780 has quit (Quit: Powered by WinIRC).
19:39:56 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83969&oldid=83968 * Ais523 * (+181) /* Category:No input */ [[:Category:Output only]]?
19:50:28 <fizzie> Hmm, what's the standard clean C way to wait for either a child process to terminate or a file descriptor to become ready for reading, whichever happens first? I know on modern Linux there's pidfd_open, but that's Linux >= 5.3, and this should work on 4.19. Is it just "poll on the fd and rely on SIGCHLD to cause the poll to fail with EINTR"? And do I need to change the default disposition from ignore to
19:50:34 <fizzie> something else for SIGCHLD to interrupt the poll? Hmm, I guess I can just try it out.
19:53:47 <esolangs> [[Deadfish]] https://esolangs.org/w/index.php?diff=83970&oldid=83743 * Dnm * (+713) Deadfish in Rexx
20:12:25 <b_jonas> "<fizzie> Maybe I'll just go with the cheap fix and add an external timeout." => what? that's not a cheap fix, that's the proper method, because you trust the outer machine more than the inner one
20:12:52 <b_jonas> you can also have a timeout in the inner machine so it can prepare to shut down more properly, but it's the outer one that you rely on
20:14:29 -!- Thelie has joined.
20:14:33 <b_jonas> fizzie: you can use signalfd if you wish
20:15:06 <b_jonas> or let libev or some other event loop figure out the internals and you only tell it what events you want it to wake you up for
20:16:36 <fizzie> It's a cheap fix in the sense that it doesn't fix the behavior of time measurement. I agree it's proper to have (also) an external timeout, but I was really just talking about the specific problem of being unable to measure time.
20:17:07 <fizzie> Not that I can think of any particularly important use cases for having HackEso do accurate timing.
20:19:17 <b_jonas> but yes, you can use signals: sigaction to set a signal handler on SIGCHLD, block the signal with sigsetmask, wait nonblocking to check child still alive, if it is then poll on filehandle which temporarily unblocks the signal without a race condition. but this kind of thing is messy, I'
20:19:29 <b_jonas> d rather libev handles it, at least if this is supposed to run on Linux
20:20:44 <b_jonas> also the incantations are different in a multithreaded program
20:21:06 <fizzie> It does run on Linux (though as part of init).
20:22:06 <b_jonas> because threads have separate per-thread signal masks, and signals can be directed to either a single thread or to the whole process, etc
20:22:26 <fizzie> Well, this is a single-threaded case.
20:23:43 <b_jonas> the alternative is to have both ends of an internal pipe or eventfd, have the signal write to that as well as to memory, and make every poll wait on its reader side, so that if the signal arrives, that poll wakes up from that, even if the signal arrives shortly before the poll call, then you needn't modify the sigprocmask
20:24:13 <b_jonas> this is what libev uses to allow you to wake the event loop up from what's possibly another thread of the same process
20:24:20 <b_jonas> (it also works from the same thread)
20:37:37 <b_jonas> there might be other solutions but I don't know them
21:00:35 <esolangs> [[NOTE]] M https://esolangs.org/w/index.php?diff=83971&oldid=83956 * PythonshellDebugwindow * (-64) /* Examples */ Change code to pre
21:04:03 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
21:05:19 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83972&oldid=83969 * ResU * (+187)
21:06:41 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83973&oldid=83972 * ResU * (-4) /* Category:No input */
21:06:46 -!- Melvar has joined.
21:08:14 -!- Lord_of_Life has joined.
21:21:06 <esolangs> [[Commlang]] N https://esolangs.org/w/index.php?oldid=83974 * Monochromeninja * (+4619) :)
21:21:40 <esolangs> [[User:Monochromeninja]] M https://esolangs.org/w/index.php?diff=83975&oldid=81516 * Monochromeninja * (+46)
21:31:12 <fizzie> `` sleep 3600 # this should take roughly 30 seconds
21:33:16 <fizzie> 22:31:12..22:31:52 as observed from here. That's so suspiciously close to 40 seconds, it's making me think that (unlike at home) the 30- and 35-second soft and medium-hard timeout signals did not in fact work, and only the 40-second actually-hard timeout made it stop.
21:35:03 <fizzie> The way it is supposed to work now is, 30 seconds after starting the UML kernel, we write a 0 byte to one of its TTY inputs; if it hasn't terminated in 5 more seconds; we write a 1 byte; and if it *still* doesn't terminate in 5 more seconds, we send a SIGKILL to all the UML processes.
21:37:39 <fizzie> And the umlbox init's "run" command handler is supposed to watch that TTY for input; if it reads a 0, it sends a SIGTERM to the running command; and if it reads a 1 (well, any non-zero byte), it just does a `reboot(LINUX_REBOOT_CMD_POWER_OFF);`, which is what it normally does to gracefully stop.
21:38:43 <fizzie> It does work at home, terminating at the 30-second mark. But of course it's a different system.
21:42:07 <fizzie> Hmm. It also does terminate in exactly 10 seconds, and cleanly, if I just manually execute something like `umlbox --no-stdin --base-mounts --cwd / --timeout 10 --verbose /bin/sleep 3600` on the HackEso system. Which is very very close to the command it runs under multibot, except with a bunch of extra mounts and environment variables and resource limits.
21:43:01 <fizzie> Hrm. It takes 20 seconds if I omit `--verbose`. But if I omit `--verbose`, I don't know what's going on.
21:43:17 <esolangs> [[Nevermind]] https://esolangs.org/w/index.php?diff=83976&oldid=83951 * OfficialCraftCGame * (+9)
21:44:10 <fizzie> Actually, maybe part of what --verbose does enables the read from that TTY. Because I used just the debugging console's "input" side, since it had no other existing purpose.
21:47:28 <fizzie> The flag does change whether I issue a tcsetattr command to configure it to raw mode. Maybe it's doing some sort of terminal line buffering otherwise.
21:50:50 <esolangs> [[Alivefish]] N https://esolangs.org/w/index.php?oldid=83977 * ResU * (+474) Created page with "Alivefish was created by [[User:ResU]] in 2021. It is very similar to [[Deadfish]] and [[AEWNN]]. ==Commands== {| class=wikitable !Command !Description |- |<code>v-</code> |Is..."
21:51:43 <fizzie> Yeah, that seems plausible. I managed to actually fix it by just adding a newline after the 0 or 1. Hmm. Can't decide whether to go with that fix, or just make it use a dedicated TTY.
21:52:41 <esolangs> [[User:ResU]] https://esolangs.org/w/index.php?diff=83978&oldid=83960 * ResU * (+20)
22:00:59 <fizzie> `` sleep 3600 # this should be a little closer to 30 seconds, but who knows really
22:02:30 <fizzie> 23:00:59..23:01:35 as seen from here. Hmm, that's closer to 35 seconds now, rather than 30.
22:03:20 <fizzie> But `time .../umlbox --no-stdin --base-mounts --cwd / --timeout 10 /bin/sleep 3600` says 0m10.255s, which is much closer. Odd.
22:06:11 <fizzie> Oh, maybe there's something about invoking /hackenv/bin/` that makes sending SIGTERM to the primary child process (the shell?) not actually terminate the whole thing. Yeah, because we still wait for the cat (and don't send it SIGTERM in case the command had something to output), and there's bound to be some other subprocess then keeping the cat's input pipe not EOF. I bet that's it.
22:07:37 <fizzie> Eh, it's probably good enough. I guess I could get a little closer by making the actual command child start a new process group, and then do kill(-child, SIGTERM) instead of kill(child, SIGTERM), but I think maybe we're at the point of diminishing returns here.
22:10:16 <fizzie> `perl -esleep 3600; # if that hypothesis is right, this should be closer still to 30 seconds
22:11:20 <fizzie> 23:10:16..23:10:46, yay.
22:41:17 -!- arseniiv_ has quit (Ping timeout: 244 seconds).
22:53:25 <b_jonas> fizzie: if the first signal is SIGTERM and it's delivered only to the shell, not to sleep, then it's no wonder it has no effect. you should try SIGHUP instead.
22:53:49 <b_jonas> or send to the whole process group, or to the foreground process group of the terminal, or to every process except init since you're shutting down the whole machine
22:53:59 <b_jonas> but even so send a SIGHUP after the SIGTERM\
22:54:11 <b_jonas> or don't, the SIGKILL will kill everything
22:58:15 <zzo38> I think that it might be useful to define some new signals, such as SIGMEM (normally does nothing, but for some programming languages it might be possible for the standard library to reduce memory usage) and SIGOOM (normally terminates the process; if it isn't terminated and there still isn't enough memory, then it is forcibly terminated anyways) and SIGUSR3.
22:58:37 <zzo38> (That is not applicable to your specific case, but still I think it might be of some use for other things)
23:18:03 -!- Thelie has quit (Remote host closed the connection).
23:48:26 <esolangs> [[Alivefish]] M https://esolangs.org/w/index.php?diff=83979&oldid=83977 * PythonshellDebugwindow * (+38) /* Commands */ Seems to have them
23:48:44 <esolangs> [[Alivefish]] M https://esolangs.org/w/index.php?diff=83980&oldid=83979 * PythonshellDebugwindow * (+23) /* Hello, world! */ cat
23:52:39 <esolangs> [[Truth Machine (language)]] M https://esolangs.org/w/index.php?diff=83981&oldid=83878 * PythonshellDebugwindow * (+48) Confused formatted cats
23:53:37 <esolangs> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=83982&oldid=83520 * PythonshellDebugwindow * (+51) Confusion