From: Bharat M. <bh...@us...> - 2003-01-20 10:16:27
|
Update of /cvsroot/gallery/gallery2/modules/core/classes In directory sc8-pr-cvs1:/tmp/cvs-serv31883/modules/core/classes Modified Files: GalleryProfiler.class Log Message: Fixed to avoid a problem where events posted at the same time can get sorted out of sequence. Index: GalleryProfiler.class =================================================================== RCS file: /cvsroot/gallery/gallery2/modules/core/classes/GalleryProfiler.class,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- GalleryProfiler.class 19 Jan 2003 11:09:13 -0000 1.4 +++ GalleryProfiler.class 20 Jan 2003 10:16:24 -0000 1.5 @@ -105,7 +105,8 @@ $this->_profile[] = array('type' => 'start', 'marker' => $key, - 'eventTime' => $start); + 'eventTime' => $start, + 'sequence' => sizeof($this->_profile)); } /** @@ -128,7 +129,8 @@ $this->_profile[] = array('type' => 'stop', 'marker' => $key, - 'eventTime' => microtime()); + 'eventTime' => microtime(), + 'sequence' => sizeof($this->_profile)); } /** @@ -285,22 +287,30 @@ */ function sortByEventTime($cmpA, $cmpB) { - $cmpA = explode(' ', $cmpA['eventTime']); - $cmpB = explode(' ', $cmpB['eventTime']); + $eventTimeA = explode(' ', $cmpA['eventTime']); + $eventTimeB = explode(' ', $cmpB['eventTime']); - if ($cmpA[1] < $cmpB[1]) { + if ($eventTimeA[1] < $eventTimeB[1]) { return -1; } - if ($cmpA[1] > $cmpB[1]) { + if ($eventTimeA[1] > $eventTimeB[1]) { return 1; } - if ($cmpA[0] < $cmpB[0]) { + if ($eventTimeA[0] < $eventTimeB[0]) { return -1; } - if ($cmpA[0] > $cmpB[0]) { + if ($eventTimeA[0] > $eventTimeB[0]) { + return 1; + } + + if ($cmpA['sequence'] < $cmpB['sequence']) { + return -1; + } + + if ($cmpA['sequence'] > $cmpB['sequence']) { return 1; } |