<tankf33der>
Regenaxer: is it true pil21 will be released in january?
<Regenaxer>
In which way released? As Debian package?
<tankf33der>
as production ready
<tankf33der>
because i need your mail to ml i will use as link in social media
<Regenaxer>
I would say it is already now. I switched some of my projects
<Regenaxer>
OK
<Regenaxer>
So let's take the moment when it appears in Debian unstable?
<Regenaxer>
I will announce it then
<tankf33der>
i am waiting this official announce to ml then
<tankf33der>
ok
<Regenaxer>
or better in Debian testing (usually two weeks after unstable)
<tankf33der>
you cant depend on external community of slackers
<Regenaxer>
yeah
<Regenaxer>
I'm still watching to see if any bugs show up
<Regenaxer>
At the moment it looks very good :)
orivej has joined #picolisp
<Regenaxer>
Hmm, but the 'call' behavior is not nice
<Regenaxer>
Any idea welcome!
<beneroth>
Hi Regenaxer
<Regenaxer>
Hi beneroth!
<beneroth>
what was the thing about the call behavior again?
<Regenaxer>
: (call "vim" "a") for example fails
<Regenaxer>
Some stdin issue
<Regenaxer>
I suspect it has to do with readline
<Regenaxer>
but strange is it fails also before readline is called the first time
<Regenaxer>
./pil -'call "vim" "a"' ...
<Regenaxer>
same for other sub-processes, eg (in ...
<Regenaxer>
(call "./pil" "+") too
<Regenaxer>
every such call
<Regenaxer>
in pil64 no problem
<Regenaxer>
^Z does similar things, but here all seems fine
<Regenaxer>
I wonder if just *linking* readline already modifies the stdin behavior of a binary
<Regenaxer>
I can't find any discussion about such problems in stackoverflow
<Regenaxer>
ha!
<Regenaxer>
found something
<Regenaxer>
If I do *not* call (setpgid ...) it works
<Regenaxer>
Perhaps this is already done by readline?
<tankf33der>
perhaps.
<Regenaxer>
But now ^Z in that process misbehaves
<beneroth>
sounds like readline does something with the process I/O. security settings?
<Regenaxer>
Not a security issue
<Regenaxer>
Process groups
<Regenaxer>
setpgid() and tcsetpgrp()
<Regenaxer>
I experiment now
<beneroth>
I meant: maybe readline sets by default some (security) restrictions on the current process regarding I/O, which screws up non-terminal-use of stdin/stdout
<beneroth>
nvm. I'm useless in this topic :/
<Regenaxer>
It seems readline wants to do more than requested
<beneroth>
a common issue with software
<beneroth>
:(
orivej has quit [Ping timeout: 260 seconds]
<Regenaxer>
hmm
<Regenaxer>
PicoLisp wants to drop into a repl upon ^Z in the called process
<Regenaxer>
(repl 0 ($ "+ ") $Nil)
<Regenaxer>
This does not work
<Regenaxer>
readline messes up some things it seems
<Regenaxer>
It is all about process groups and terminal control
<Regenaxer>
nothing to do with security
<Regenaxer>
but about which process in the group receives signals
<Regenaxer>
Seems I have to give up that feature
<Regenaxer>
Nobody knows about it anyway ;)
<Regenaxer>
Then the code of 'call' can probably be a lot simpler
<Regenaxer>
OK, I remove all setpgid() and tcsetpgrp() handling. And also SIGCONT handling after ^Z
<Regenaxer>
Works sometimes but not always
<beneroth>
KISS
<beneroth>
:)
<Regenaxer>
unsatisfactory here
<beneroth>
aye
<Regenaxer>
Not sure what the right way is
<Regenaxer>
Can't find an example
<beneroth>
nobody knows. when you find the right way, you find out nobody else knows and nobody takes care :(
<Regenaxer>
hmm, I better keep the setpgid calls in the pipes. Gives problems othewise with SIGCHLD handling
<Regenaxer>
grr, all this is really a mess in Unix
<Regenaxer>
So only 'call' is changed
<Regenaxer>
Anybody wants to test?
<Regenaxer>
Seems I ^Z now also behaves correctly in 'call'ed child
<Regenaxer>
by omitting the WUNTRACED flag from waitpid()
<Regenaxer>
So now indeed it is simpler
<Regenaxer>
just whe REPL is gone in ^Z and it drops to the shell
<Regenaxer>
hmm
<Regenaxer>
grr
<Regenaxer>
not yet
<Regenaxer>
^Z misbehaves
<Regenaxer>
Nevertheless, it is better than before when call did not work at all for children using the terminal
<Regenaxer>
Released
<Regenaxer>
frustrated
<Regenaxer>
tankf33der, please test when you have a chance
<Regenaxer>
If anyone finds a working example please let me know
<tankf33der>
Regenaxer: ok
<Regenaxer>
Thanks!
<Regenaxer>
Better not press ^Z in the child until someone finds a solution
<beneroth>
:/
<beneroth>
so plan for the next decase is to finish pilOS and remove this dependency :P
<beneroth>
hahaha-only-serious ;-)
<beneroth>
s/decase/decade
<Regenaxer>
:)
<Regenaxer>
No issue in PilOS, as it has no 'call' anyway
<beneroth>
also no readline
<tankf33der>
Regenaxer: all passed.
<Regenaxer>
great, thanks!
<DKordic>
A real pleasure of UNIX!! Terminal and Signals are more than their sum!! stdio alone... puts me on edge!! But Terminals are spiced with ioctl!!
<DKordic>
Regenaxer: Google (Our Intelligence) informs Us that Jupiter and Saturn are in very special alignment!