Revision: | 1.1 |
Committed: | Sun Apr 14 01:18:38 2002 UTC (22 years, 3 months ago) by root |
Branch: | MAIN |
CVS Tags: | rel-2_5, rel-3_41, rel-3_55, rel-3_51, rel-2_0, rel-2_1, rel-1_1, rel-1_0, rel-1_9, rel-1_2, rel-1_5, rel-1_4, rel-1_7, rel-1_6, rel-3_4, rel-3_1, rel-3_5, rel-3_3, rel-3_2, rel-3_0, rel-3_01, rel-3_11, rel-1_31, stack_sharing, rel-3_501 |
Log Message: | *** empty log message *** |
# | Content |
---|---|
1 | #!/usr/bin/perl |
2 | |
3 | <<' */'=~m>>; |
4 | |
5 | /* |
6 | * How to fool readline into working with Coro |
7 | * Category: dirty hack |
8 | */ |
9 | |
10 | use Coro; |
11 | use Coro::Event; |
12 | use Term::ReadLine; |
13 | |
14 | $|=1; |
15 | |
16 | my $rl = new Term::ReadLine "Coro"; |
17 | |
18 | # fool the Term::ReadLine packages.. |
19 | my $stdin_ready = Coro::Event->io(fd => \*STDIN, poll => "r"); |
20 | sub Term::ReadLine::Tk::Tk_loop { $stdin_ready->next } |
21 | sub Tk::DoOneEvent { } |
22 | sub Term::ReadLine::Tk::register_Tk { } |
23 | $rl->tkRunning(1); |
24 | |
25 | async { |
26 | while ($rl->readline("Enter EXIT to exit> ") ne "exit") { |
27 | print "not exiting yet...\n"; |
28 | } |
29 | unloop; |
30 | }; |
31 | |
32 | async { |
33 | my $timer = Coro::Event->timer(after => 1, interval => 1, hard => 1); |
34 | while ($timer->next) { |
35 | print "."; |
36 | } |
37 | }; |
38 | |
39 | loop; |
40 |