summaryrefslogtreecommitdiffstats
path: root/3rdparty/openpgm-svn-r1135/pgm/rate_control.c.c89.patch
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/openpgm-svn-r1135/pgm/rate_control.c.c89.patch')
-rw-r--r--3rdparty/openpgm-svn-r1135/pgm/rate_control.c.c89.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/3rdparty/openpgm-svn-r1135/pgm/rate_control.c.c89.patch b/3rdparty/openpgm-svn-r1135/pgm/rate_control.c.c89.patch
new file mode 100644
index 0000000..d779a78
--- /dev/null
+++ b/3rdparty/openpgm-svn-r1135/pgm/rate_control.c.c89.patch
@@ -0,0 +1,62 @@
+--- rate_control.c 2010-08-04 15:58:08.000000000 +0800
++++ rate_control.c89 2010-08-04 15:57:59.000000000 +0800
+@@ -77,7 +77,7 @@
+ const bool is_nonblocking
+ )
+ {
+- int64_t new_rate_limit;
++ ssize_t new_rate_limit;
+
+ /* pre-conditions */
+ pgm_assert (NULL != bucket);
+@@ -87,6 +87,7 @@
+ return TRUE;
+
+ pgm_spinlock_lock (&bucket->spinlock);
++ {
+ pgm_time_t now = pgm_time_update_now();
+ pgm_time_t time_since_last_rate_check = now - bucket->last_rate_check;
+
+@@ -95,7 +96,9 @@
+ if (time_since_last_rate_check > pgm_msecs(1))
+ new_rate_limit = bucket->rate_per_msec;
+ else {
++#pragma warning( disable : 4244 )
+ new_rate_limit = bucket->rate_limit + ((bucket->rate_per_msec * time_since_last_rate_check) / 1000UL);
++#pragma warning( default : 4244 )
+ if (new_rate_limit > bucket->rate_per_msec)
+ new_rate_limit = bucket->rate_per_msec;
+ }
+@@ -105,7 +108,9 @@
+ if (time_since_last_rate_check > pgm_secs(1))
+ new_rate_limit = bucket->rate_per_sec;
+ else {
++#pragma warning( disable : 4244 )
+ new_rate_limit = bucket->rate_limit + ((bucket->rate_per_sec * time_since_last_rate_check) / 1000000UL);
++#pragma warning( default : 4244 )
+ if (new_rate_limit > bucket->rate_per_sec)
+ new_rate_limit = bucket->rate_per_sec;
+ }
+@@ -132,6 +137,7 @@
+ }
+ pgm_spinlock_unlock (&bucket->spinlock);
+ return TRUE;
++ }
+ }
+
+ pgm_time_t
+@@ -147,12 +153,14 @@
+ return 0;
+
+ pgm_spinlock_lock (&bucket->spinlock);
++ {
+ const pgm_time_t now = pgm_time_update_now();
+ const pgm_time_t time_since_last_rate_check = now - bucket->last_rate_check;
+ const int64_t bucket_bytes = bucket->rate_limit + pgm_to_secs (bucket->rate_per_sec * time_since_last_rate_check) - n;
+ pgm_spinlock_unlock (&bucket->spinlock);
+
+ return bucket_bytes >= 0 ? 0 : (bucket->rate_per_sec / -bucket_bytes);
++ }
+ }
+
+ /* eof */