bareos: master e5195308

Author Committer Branch Timestamp Parent
mvwieringen mvwieringen master 2013-09-27 14:22 master c6ba1f36 Pending
Affected Issues  0000226: Bwlimit not working in Windows 64bits client
Changeset Bwlimit not working in Windows 64bits client

The nanosleep implementation in compat.c for windows if of poor quality.
Try using the fallback to the pthread_cond_timedwait() in bsys.c by
no longer claiming in the mingwconfig.h that we have a working nanosleep()
and remove the poor implementation. There are a couple of ways of sleeping
in a somewhat portable way e.g. select(), poll() or pthread_cond_timedwait().
So for as we use pthreads anyway everywhere we leave the pthread_cond_timedwait()
method.

Also check if bmicrosleep() returns early in the bandwidth limiting code
and if it does schedule an new bmicrosleep() of the sleep time remaining.

Fixes 0000226: Bwlimit not working in Windows 64bits client
mod - src/lib/bsock.c Diff File
mod - src/lib/bsys.c Diff File
mod - src/win32/compat/compat.c Diff File
mod - src/win32/compat/include/mingwconfig.h Diff File