Changeset 1011
- Timestamp:
- 04/18/08 02:09:41 (3 months ago)
- Files:
-
- branches/stable_1-2 (modified) (2 props)
- branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/stable_1-2
- Property bzr:revision-id:v3-trunk0 changed from
814 luislavena@gmail.com-20080331074345-8r7ghwi05bwwqz7f
815 luislavena@gmail.com-20080331075048-t48wb12km03z1k7d
816 luislavena@gmail.com-20080331081757-x3m83b2w24vlgbhz
817 luislavena@gmail.com-20080406001418-f6mxbnyordlkvosz
822 luislavena@gmail.com-20080418001345-y6hgwpxkfc5qml6v
823 luislavena@gmail.com-20080418001931-wxuitk2diz0s32cu
824 luislavena@gmail.com-20080418001955-wdpwvupki3pe6mu4
to
814 luislavena@gmail.com-20080331074345-8r7ghwi05bwwqz7f
815 luislavena@gmail.com-20080331075048-t48wb12km03z1k7d
816 luislavena@gmail.com-20080331081757-x3m83b2w24vlgbhz
817 luislavena@gmail.com-20080406001418-f6mxbnyordlkvosz
822 luislavena@gmail.com-20080418001345-y6hgwpxkfc5qml6v
823 luislavena@gmail.com-20080418001931-wxuitk2diz0s32cu
824 luislavena@gmail.com-20080418001955-wdpwvupki3pe6mu4
825 luislavena@gmail.com-20080418065700-yx69onb815nh8zgg - Property bzr:revision-info changed from
timestamp: 2008-04-17 21:19:55.187000036 -0300
committer: Luis Lavena <luislavena@gmail.com>
properties:
branch-nick: stable_1-2
to
timestamp: 2008-04-18 03:57:00.687000036 -0300
committer: Luis Lavena <luislavena@gmail.com>
properties:
branch-nick: stable_1-2
- Property bzr:revision-id:v3-trunk0 changed from
branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas
r1009 r1011 15 15 #include once "windows.bi" 16 16 17 dim shared stop_hit as BOOL 17 dim shared as any ptr control_signal, control_mutex 18 dim shared flagged as byte 19 dim shared result as integer 18 20 19 function _console_handler(byval dwCtrlType as DWORD) as BOOL21 function slow_console_handler(byval dwCtrlType as DWORD) as BOOL 20 22 dim result as BOOL 21 23 22 24 if (dwCtrlType = CTRL_C_EVENT) then 23 '# slow response, take 10 seconds... 24 fprintf(stdout, !"out: slow stop\r\n") 25 sleep (10*1000) 25 fprintf(stdout, !"out: CTRL-C received\r\n") 26 mutexlock(control_mutex) 26 27 result = 1 27 stop_hit = TRUE 28 flagged = 1 29 condsignal(control_signal) 30 mutexunlock(control_mutex) 31 elseif (dwCtrlType = CTRL_BREAK_EVENT) then 32 fprintf(stdout, !"out: CTRL-BREAK received\r\n") 33 mutexlock(control_mutex) 34 result = 1 35 flagged = 2 36 condsignal(control_signal) 37 mutexunlock(control_mutex) 28 38 end if 29 39 … … 31 41 end function 32 42 33 sub main() 43 sub wait_for(byval flag_level as integer) 44 flagged = 0 45 '# set handler 46 if (SetConsoleCtrlHandler(@slow_console_handler, 1) = 0) then 47 fprintf(stderr, !"err: cannot set console handler\r\n") 48 end if 49 fprintf(stdout, !"out: waiting for keyboard signal\r\n") 50 mutexlock(control_mutex) 51 do until (flagged = flag_level) 52 condwait(control_signal, control_mutex) 53 loop 54 mutexunlock(control_mutex) 55 fprintf(stdout, !"out: got keyboard signal\r\n") 56 if (SetConsoleCtrlHandler(@slow_console_handler, 0) = 0) then 57 fprintf(stderr, !"err: cannot unset console handler\r\n") 58 end if 59 end sub 60 61 function main() as integer 34 62 fprintf(stdout, !"out: message\r\n") 35 63 fprintf(stderr, !"err: error\r\n") … … 38 66 case "wait": 39 67 sleep 40 68 return 0 69 41 70 case "error": 42 71 '# terminate with error code 43 end 1 44 45 case "slow": 46 stop_hit = FALSE 47 SetConsoleCtrlHandler(@_console_handler, 1) 48 do while (stop_hit = FALSE) 49 sleep 15 50 loop 51 SetConsoleCtrlHandler(@_console_handler, 0) 52 end 10 72 return 1 73 74 case "slow1": 75 wait_for(1) 76 return 10 77 78 case "slow2": 79 wait_for(2) 80 return 20 53 81 end select 54 end sub82 end function 55 83 56 main() 84 control_signal = condcreate() 85 control_mutex = mutexcreate() 86 87 result = main() 88 89 conddestroy(control_signal) 90 mutexdestroy(control_mutex) 91 92 end result
