Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Unified Diff: skia/ports/SkOSEvent_android.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/ports/SkImageRef_ashmem.cpp ('k') | skia/ports/SkOSEvent_dummy.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/ports/SkOSEvent_android.cpp
===================================================================
--- skia/ports/SkOSEvent_android.cpp (revision 16859)
+++ skia/ports/SkOSEvent_android.cpp (working copy)
@@ -1,155 +0,0 @@
-/* libs/graphics/ports/SkOSEvent_android.cpp
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-#include "SkEvent.h"
-#include "utils/threads.h"
-#include <stdio.h>
-
-using namespace android;
-
-Mutex gEventQMutex;
-Condition gEventQCondition;
-
-void SkEvent::SignalNonEmptyQueue()
-{
- gEventQCondition.broadcast();
-}
-
-///////////////////////////////////////////////////////////////////
-
-#ifdef FMS_ARCH_ANDROID_ARM
-
-// don't have pthreads.h, and therefore no timedwait(), so we punt for the demo
-
-void SkEvent::SignalQueueTimer(SkMSec delay)
-{
-}
-
-void SkEvent_start_timer_thread()
-{
-}
-
-void SkEvent_stop_timer_thread()
-{
-}
-
-#else
-
-#include <pthread.h>
-#include <errno.h>
-
-static pthread_t gTimerThread;
-static pthread_mutex_t gTimerMutex;
-static pthread_cond_t gTimerCond;
-static timespec gTimeSpec;
-
-static void* timer_event_thread_proc(void*)
-{
- for (;;)
- {
- int status;
-
- pthread_mutex_lock(&gTimerMutex);
-
- timespec spec = gTimeSpec;
- // mark our global to be zero
- // so we don't call timedwait again on a stale value
- gTimeSpec.tv_sec = 0;
- gTimeSpec.tv_nsec = 0;
-
- if (spec.tv_sec == 0 && spec.tv_nsec == 0)
- status = pthread_cond_wait(&gTimerCond, &gTimerMutex);
- else
- status = pthread_cond_timedwait(&gTimerCond, &gTimerMutex, &spec);
-
- if (status == 0) // someone signaled us with a new time
- {
- pthread_mutex_unlock(&gTimerMutex);
- }
- else
- {
- SkASSERT(status == ETIMEDOUT); // no need to unlock the mutex (its unlocked)
- // this is the payoff. Signal the event queue to wake up
- // and also check the delay-queue
- gEventQCondition.broadcast();
- }
- }
- return 0;
-}
-
-#define kThousand (1000)
-#define kMillion (kThousand * kThousand)
-#define kBillion (kThousand * kThousand * kThousand)
-
-void SkEvent::SignalQueueTimer(SkMSec delay)
-{
- pthread_mutex_lock(&gTimerMutex);
-
- if (delay)
- {
- struct timeval tv;
- gettimeofday(&tv, NULL);
-
- // normalize tv
- if (tv.tv_usec >= kMillion)
- {
- tv.tv_sec += tv.tv_usec / kMillion;
- tv.tv_usec %= kMillion;
- }
-
- // add tv + delay, scale each up to land on nanoseconds
- gTimeSpec.tv_nsec = (tv.tv_usec + (delay % kThousand) * kThousand) * kThousand;
- gTimeSpec.tv_sec = (tv.tv_sec + (delay / kThousand) * kThousand) * kThousand;
-
- // check for overflow in nsec
- if ((unsigned long)gTimeSpec.tv_nsec >= kBillion)
- {
- gTimeSpec.tv_nsec -= kBillion;
- gTimeSpec.tv_sec += 1;
- SkASSERT((unsigned long)gTimeSpec.tv_nsec < kBillion);
- }
-
- // printf("SignalQueueTimer(%d) timespec(%d %d)\n", delay, gTimeSpec.tv_sec, gTimeSpec.tv_nsec);
- }
- else // cancel the timer
- {
- gTimeSpec.tv_nsec = 0;
- gTimeSpec.tv_sec = 0;
- }
-
- pthread_mutex_unlock(&gTimerMutex);
- pthread_cond_signal(&gTimerCond);
-}
-
-void SkEvent_start_timer_thread()
-{
- int status;
- pthread_attr_t attr;
-
- status = pthread_attr_init(&attr);
- SkASSERT(status == 0);
- status = pthread_create(&gTimerThread, &attr, timer_event_thread_proc, 0);
- SkASSERT(status == 0);
-}
-
-void SkEvent_stop_timer_thread()
-{
- int status = pthread_cancel(gTimerThread);
- SkASSERT(status == 0);
-}
-
-#endif
« no previous file with comments | « skia/ports/SkImageRef_ashmem.cpp ('k') | skia/ports/SkOSEvent_dummy.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698