🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
00:00
reportable6 left,
nativecallable6 left,
quotable6 left,
sourceable6 left,
notable6 left,
tellable6 left,
releasable6 left,
shareable6 left,
greppable6 left,
bloatable6 left,
|Tux| left,
ilogger2 left,
|Tux| joined
00:03
ilogger2 joined
00:09
reportable6 joined
00:46
greppable6 joined,
releasable6 joined
01:46
notable6 joined
01:47
shareable6 joined,
bloatable6 joined
01:48
tellable6 joined,
quotable6 joined
01:54
frost joined
02:48
nativecallable6 joined
03:48
evalable6 left,
linkable6 left
03:49
evalable6 joined
03:50
linkable6 joined
03:53
sourceable6 joined
04:53
greppable6 left,
shareable6 left,
committable6 left,
nativecallable6 left,
unicodable6 left,
coverable6 left,
reportable6 left,
quotable6 left,
evalable6 left,
linkable6 left,
benchable6 left,
statisfiable6 left,
bisectable6 left,
releasable6 left,
tellable6 left,
bloatable6 left,
notable6 left
04:54
unicodable6 joined,
reportable6 joined,
releasable6 joined,
coverable6 joined,
benchable6 joined,
evalable6 joined
04:55
bisectable6 joined,
committable6 joined,
greppable6 joined,
quotable6 joined,
notable6 joined
04:56
nativecallable6 joined,
linkable6 joined,
tellable6 joined,
shareable6 joined,
bloatable6 joined,
statisfiable6 joined
05:56
reportable6 left,
sourceable6 left,
releasable6 left,
committable6 left,
unicodable6 left,
notable6 left,
bisectable6 left,
bloatable6 left,
nativecallable6 left,
tellable6 left,
shareable6 left,
benchable6 left,
quotable6 left,
coverable6 left,
greppable6 left,
evalable6 left,
statisfiable6 left,
linkable6 left
05:57
releasable6 joined,
unicodable6 joined,
shareable6 joined,
notable6 joined
05:58
quotable6 joined,
committable6 joined,
bisectable6 joined,
greppable6 joined,
benchable6 joined,
evalable6 joined
05:59
nativecallable6 joined,
linkable6 joined,
bloatable6 joined,
statisfiable6 joined,
sourceable6 joined,
reportable6 joined,
tellable6 joined,
coverable6 joined
06:06
reportable6 left
06:08
reportable6 joined
07:21
[Coke] joined
07:23
sena_kun joined
07:25
[Coke]_ left
07:26
[Tux] left
07:33
[Tux] joined
08:29
Kaiepi left
09:29
evalable6 left,
linkable6 left
09:31
linkable6 joined
09:32
evalable6 joined
10:53
Kaiepi joined
11:06
dogbert2 joined
11:10
dogbert17 left
11:15
frost left
11:19
frost joined
11:50
dogbert2 left
11:53
dogbert11 joined
12:07
reportable6 left
12:09
reportable6 joined
12:57
Xliff joined
13:53
vrurg_ joined,
vrurg left
14:21
dogbert17 joined,
dogbert11 left
15:26
notable6 left,
greppable6 left,
statisfiable6 left,
reportable6 left,
evalable6 left,
quotable6 left,
linkable6 left,
shareable6 left,
coverable6 left,
committable6 left,
tellable6 left,
nativecallable6 left,
bloatable6 left,
benchable6 left,
sourceable6 left,
releasable6 left,
unicodable6 left,
bisectable6 left
15:27
tellable6 joined,
shareable6 joined,
reportable6 joined,
quotable6 joined,
notable6 joined,
coverable6 joined,
bisectable6 joined,
evalable6 joined,
linkable6 joined,
bloatable6 joined
15:28
sourceable6 joined,
greppable6 joined,
committable6 joined,
releasable6 joined,
benchable6 joined,
nativecallable6 joined,
statisfiable6 joined
15:29
unicodable6 joined
15:38
frost left
15:44
Xliff left
16:33
dogbert11 joined
16:35
dogbert17 left
16:50
dogbert11 left
16:52
dogbert11 joined
|
|||
Geth | rakudo/lizmat-died-naturally: 072d961bb3 | (Elizabeth Mattijsen)++ | src/main.nqp Set $*DIED-NATURALLY if exiting program without exception Inspired by stackoverflow.com/questions/730405...gramm-died This minimal change allows an END block to do special actions if the program exited because of an exception: ... (5 more lines) |
17:02 | |
rakudo: lizmat++ created pull request #4988: Set $*DIED-NATURALLY if exiting program without exception |
|||
17:05
dogbert17 joined,
dogbert11 left
18:07
reportable6 left
18:09
reportable6 joined
|
|||
gfldex | lizmat: does `exit(1)` inside an END-phaser do the right thing? | 19:02 | |
lizmat | I believe so? | 19:03 | |
m: END { exit(1) } | 19:04 | ||
camelia | ( no output ) | ||
lizmat | m: END { say "last END" }; END { exit(1) } | ||
camelia | last END | ||
lizmat | m: END { say "not last END" }; END { exit(1) }; END { say "last end" } | ||
camelia | last end not last END |
||
lizmat | hmmm | ||
ah, I remember... if you're basically inside the exit handler, "exit" becomes a noop ? | 19:05 | ||
m: END { say "not last END" }; END { exit(1); say "after exit" }; END { say "last end" } | |||
camelia | last end not last END |
||
lizmat | but only for the END block in which you exit | ||
m: END { say "last END" }; END { exit(1); say "after exit" }; END { say "not last end" } | 19:06 | ||
camelia | not last end last END |
||
lizmat | and in reverse order | ||
m: END { say "last END" }; END { say "before exit"; exit(1); say "after exit" }; END { say "not last end" } | |||
camelia | not last end before exit last END |
||
gfldex | From a sysadmin standpoint I don't like END at all. It is very tempting to believe the core will be run. And then some native lib segfaults or you hit an OOM-condition. | 19:08 | |
lizmat | well, there's that of course... I guess at some point we could think about catching segfaults in a meaningful way | ||
19:09
linkable6 left,
evalable6 left
|
|||
lizmat | and aren't OOM's handled by a "kill" first? That should run END, shouldn't it ? | 19:09 | |
19:09
linkable6 joined
|
|||
lizmat | unless it's a kill -9 f course | 19:09 | |
19:09
evalable6 joined
|
|||
gfldex | And that's why setting the exit-code is important. We typically deal with abnormal termination with a shell wrapper. That `exit` may not do what you expect it to, is at least an ENODOC. | 19:11 | |
19:11
vrurg_ left
19:13
vrurg joined
|
|||
gfldex | m: my atomicint $i; my @proms; for ^20 { @proms.push: start { exit ++âš›$i; } }; await @proms; | 19:18 | |
camelia | ( no output ) | ||
gfldex | ^^^ poor way to implement a RNG :) | ||
lizmat | gfldex: the first thread issuing exit() determines the final exit value | ||
any other exit values are ignored | 19:19 | ||
gfldex | because of the state container in exit | ||
lizmat | that seemed to be the most sensible way of dealing with multiple threads doing an exit() | ||
rught | |||
*right | |||
gfldex | ENODOC issed as #4097 | 19:25 | |
19:28
sena_kun left
19:29
sena_kun joined
19:36
discord-raku-bot left,
discord-raku-bot joined
19:37
discord-raku-bot left,
discord-raku-bot joined
20:58
sena_kun left
21:58
evalable6 left,
linkable6 left
21:59
linkable6 joined
22:01
evalable6 joined
23:01
linkable6 left,
evalable6 left
23:03
evalable6 joined
23:04
linkable6 joined
|