beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Quit: Leaving.]
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Quit: Leaving.]
pablo_escoberg1 has joined #picolisp
pablo_escoberg1 has quit [Quit: Leaving.]
pablo_escoberg has joined #picolisp
msavoritias has joined #picolisp
pablo_escoberg1 has joined #picolisp
pablo_escoberg has quit [Read error: Connection reset by peer]
z4k4ri4 has quit [Server closed connection]
z4k4ri4 has joined #picolisp
tankf33der has quit [Quit: the lounge - https://webirc.envs.net]
pablo_escoberg1 has quit [Ping timeout: 252 seconds]
pablo_escoberg has joined #picolisp
msavoritias has quit [Remote host closed the connection]
pablo_escoberg has quit [Ping timeout: 252 seconds]
msavoritias has joined #picolisp
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Ping timeout: 265 seconds]
pablo_escoberg has joined #picolisp
avocadoist has quit [Remote host closed the connection]
avocadoist has joined #picolisp
<pablo_escoberg> OK, so now I'm having this weird thing where pipe doesn't seem to be returning a file descriptor. So, inside a method, I have:
<pablo_escoberg> (=: Fd (pipe (exec (pack "echo '.read \" | cat ./in \"' | sqlite3 " Fn " > out")))))
<pablo_escoberg> (prinl (: Fd))
<pablo_escoberg> And it prints blank. I also tried setq instead of =: (of course removing the : from the following line) and still get nothing.
<abu[7]> Remember that 'exec' needs an executable, not a shell text
<abu[7]> So it probably fails
<pablo_escoberg> echo is an executable, no?
<abu[7]> yes, but not the packed string
<abu[7]> (exec "echo" "arg1" ...
<pablo_escoberg> Oh, I see. OK, lemme give it a try.
<abu[7]> you can do (exec "sh" (pack ...
<abu[7]> I mean (exec "sh" "-c" (pack ...
<pablo_escoberg> the second thing didn't work because there's a pipe. But I went and ditched the whole pack thing and it works fine now. Thanks again.
<abu[7]> great!
<abu[7]> Pipes are tough. I also always forget the details
<abu[7]> I did experiments like these http://pb1n.de/?2d7da2
<abu[7]> Perhaps it helps?
<pablo_escoberg> holy shit! What does that thing do? I think my brains stack just overflowed :D
<abu[7]> this is an example of using 'pil' in a pipe
<abu[7]> 'pilPipe'
<pablo_escoberg> ah, yes. That's more or less what I need. I will look at it more thoroughly and see if I can understand it.
<abu[7]> 'shPipes' and 'pilPipes' should be equivalent
<abu[7]> So 'shPipes' is easier but perhaps with more overhead
pablo_escoberg has quit [Ping timeout: 252 seconds]
pablo_escoberg has joined #picolisp
tankf33der has joined #picolisp
pablo_escoberg has quit [Ping timeout: 258 seconds]
pablo_escoberg has joined #picolisp
msavoritias has quit [Remote host closed the connection]
pablo_escoberg has quit [Quit: Leaving.]
pablo_escoberg has joined #picolisp
<pablo_escoberg> OK, so I'm having some trouble grasping what gets closed when. I'm opening a pipe in a class constructor. Within the same method, I'm using the file descriptor to create a task and it works fine. Then, I come back and access it from a method, and the Fd is no longer active. Is there some way to monitor this or view open file descrriptors or something?