Changeset 388 for python/vendor/current/RISCOS/sleep.c
- Timestamp:
- Mar 19, 2014, 11:11:30 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
python/vendor/current/RISCOS/sleep.c
r2 r388 10 10 int riscos_sleep(double delay) 11 11 { 12 13 14 12 os_t starttime, endtime, time; /* monotonic times (centiseconds) */ 13 int *pollword, ret; 14 osbool claimed; 15 15 16 17 18 19 20 21 16 /* calculate end time */ 17 starttime = os_read_monotonic_time(); 18 if (starttime + 100.0*delay >INT_MAX) 19 endtime = INT_MAX; 20 else 21 endtime = (os_t)(starttime + 100.0*delay); 22 22 23 24 25 23 /* allocate (in RMA) and set pollword for xupcall_sleep */ 24 pollword = osmodule_alloc(4); 25 *pollword = 1; 26 26 27 28 29 30 31 32 33 34 35 36 27 time = starttime; 28 ret = 0; 29 while ( time<endtime && time>=starttime ) { 30 xupcall_sleep (pollword, &claimed); 31 if (PyErr_CheckSignals()) { 32 ret = 1; 33 break; 34 } 35 time = os_read_monotonic_time(); 36 } 37 37 38 39 40 38 /* deallocate pollword */ 39 osmodule_free(pollword); 40 return ret; 41 41 }
Note:
See TracChangeset
for help on using the changeset viewer.