trunk/src/osd/modules/sync/sync_os2.c
| r242750 | r242751 | |
| 381 | 381 | int osd_event_wait(osd_event *event, osd_ticks_t timeout) |
| 382 | 382 | { |
| 383 | 383 | ULONG rc; |
| 384 | ULONG timeout_param; |
| 385 | |
| 386 | if (timeout == OSD_EVENT_WAIT_INFINITE) |
| 387 | timeout_param = SEM_INDEFINITE_WAIT; |
| 388 | else |
| 389 | timeout_param = timeout * 1000 / osd_ticks_per_second(); |
| 384 | 390 | |
| 385 | 391 | if(event->autoreset) |
| 386 | 392 | DosRequestMutexSem(event->hmtx, -1); |
| 387 | 393 | |
| 388 | | rc = DosWaitEventSem(event->hev, timeout * 1000 / osd_ticks_per_second()); |
| 394 | rc = DosWaitEventSem(event->hev, timeout_param); |
| 389 | 395 | |
| 390 | 396 | if(event->autoreset) |
| 391 | 397 | { |
trunk/src/osd/modules/sync/sync_windows.c
| r242750 | r242751 | |
| 239 | 239 | |
| 240 | 240 | int osd_event_wait(osd_event *event, osd_ticks_t timeout) |
| 241 | 241 | { |
| 242 | | int ret = WaitForSingleObject((HANDLE) event, timeout * 1000 / osd_ticks_per_second()); |
| 243 | | return ( ret == WAIT_OBJECT_0); |
| 242 | DWORD timeout_param; |
| 243 | if (timeout == OSD_EVENT_WAIT_INFINITE) |
| 244 | timeout_param = INFINITE; |
| 245 | else |
| 246 | timeout_param = timeout * 1000 / osd_ticks_per_second(); |
| 247 | |
| 248 | int ret = WaitForSingleObject((HANDLE) event, timeout_param); |
| 249 | return (ret == WAIT_OBJECT_0); |
| 244 | 250 | } |
| 245 | 251 | |
| 246 | 252 | //============================================================ |
trunk/src/osd/modules/sync/work_osd.c
| r242750 | r242751 | |
| 58 | 58 | #if defined(OSD_WINDOWS) |
| 59 | 59 | #define SPIN_LOOP_TIME (osd_ticks_per_second() / 50000) |
| 60 | 60 | #else |
| 61 | | #define INFINITE (osd_ticks_per_second() * (osd_ticks_t) 10000) |
| 62 | 61 | #define SPIN_LOOP_TIME (osd_ticks_per_second() / 10000) |
| 63 | 62 | #endif |
| 64 | 63 | |
| r242750 | r242751 | |
| 659 | 658 | if (!queue_has_list_items(queue)) |
| 660 | 659 | { |
| 661 | 660 | begin_timing(thread->waittime); |
| 662 | | osd_event_wait(thread->wakeevent, INFINITE); |
| 661 | osd_event_wait(thread->wakeevent, OSD_EVENT_WAIT_INFINITE); |
| 663 | 662 | end_timing(thread->waittime); |
| 664 | 663 | } |
| 665 | 664 | |