[Gambas-user] Opening Pipes (avoiding lockup)
Benoît Minisini
g4mba5 at gmail.com
Sun Oct 4 00:07:43 CEST 2020
Le 03/10/2020 à 20:55, Bruce Steers a écrit :
> Hi all.
> I just uploaded a simple pipe opening/watching routing to the
> Application section as an example.
> The reason for this was because it took me quite some time to figure out
> how to get a pipe working at first and thought many others may have hit
> the same brick wall. It seemed EVERYTHING I tried just locked up the app
> til the pipe got some text sent, then everything was okay, the app could
> run and the File_Read() event would trigger on any more text sent as
> expected.
>
> What was not expected is that "Opening" the pipe is like calling a Read
> method that locks the program till it gets some text.
> I came up with a simple solution (eventually) to use the Shell command
> to echo a blank line to the pipe just before opening it...
>
> Shell "echo '' >/tmp/FIFO1"
> hFile = Pipe "/tmp/FIFO1" For Read Watch
>
> That way when the pipe opens it gets the echo and moves on so the
> program continues running.
> It just seemed wrong though.
> Like either i was doing something wrong in how i was opening the pipe or
> it was a bug in the pipe opening call?
> I would have thought that setting the "Watch" option would open the pipe
> without expecting text and just set up the Read event and move on.
>
> I found using "Read Write Watch" all together and setting Blocking to
> False Allowed the program to move past the open without sending text but
> that gave me weird errors like pop-up menus stopped triggering Click()
> events, I had some menus visible in the menubar AND attached to a button
> popup and got the click event okay from the top menu but got nothing
> from the popup menus. If i removed the "Write" from the pipe opening
> call the popups worked again!?
> I found the Shell "echo" method the best way but like i say , seems
> wrong to have to do it that way.
>
> Thanks all :)
>
>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
I have no locking problem with opening a pipe for reading and watching.
Please post your project and tell which version of Gambas you are using.
Regards,
--
Benoît Minisini
More information about the User
mailing list