Revision: | 1.1 |
Committed: | Sun Apr 14 01:18:38 2002 UTC (22 years, 2 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 *** |
# | User | Rev | Content |
---|---|---|---|
1 | root | 1.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 |