OLD | NEW |
1 // Copyright (c) 2009, Google Inc. | 1 // Copyright (c) 2009, Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 18 matching lines...) Expand all Loading... |
29 | 29 |
30 // --- | 30 // --- |
31 // Author: Sanjay Ghemawat | 31 // Author: Sanjay Ghemawat |
32 // Nabeel Mian | 32 // Nabeel Mian |
33 // | 33 // |
34 // Implements management of profile timers and the corresponding signal handler. | 34 // Implements management of profile timers and the corresponding signal handler. |
35 | 35 |
36 #include "config.h" | 36 #include "config.h" |
37 #include "profile-handler.h" | 37 #include "profile-handler.h" |
38 | 38 |
39 #if !(defined(__CYGWIN__) || defined(__CYGWIN32__)) | 39 #if !(defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(__native_client_
_) |
40 | 40 |
41 #include <stdio.h> | 41 #include <stdio.h> |
42 #include <errno.h> | 42 #include <errno.h> |
43 #include <sys/time.h> | 43 #include <sys/time.h> |
44 | 44 |
45 #include <list> | 45 #include <list> |
46 #include <string> | 46 #include <string> |
47 | 47 |
48 #include "base/dynamic_annotations.h" | 48 #include "base/dynamic_annotations.h" |
49 #include "base/logging.h" | 49 #include "base/logging.h" |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 } | 471 } |
472 | 472 |
473 extern "C" void ProfileHandlerReset() { | 473 extern "C" void ProfileHandlerReset() { |
474 return ProfileHandler::Instance()->Reset(); | 474 return ProfileHandler::Instance()->Reset(); |
475 } | 475 } |
476 | 476 |
477 extern "C" void ProfileHandlerGetState(ProfileHandlerState* state) { | 477 extern "C" void ProfileHandlerGetState(ProfileHandlerState* state) { |
478 ProfileHandler::Instance()->GetState(state); | 478 ProfileHandler::Instance()->GetState(state); |
479 } | 479 } |
480 | 480 |
481 #else // OS_CYGWIN | 481 #else // !defined(OS_CYGWIN) && !defined(__native_client__) |
482 | 482 |
483 // ITIMER_PROF doesn't work under cygwin. ITIMER_REAL is available, but doesn't | 483 // ITIMER_PROF doesn't work under cygwin. ITIMER_REAL is available, but doesn't |
484 // work as well for profiling, and also interferes with alarm(). Because of | 484 // work as well for profiling, and also interferes with alarm(). Because of |
485 // these issues, unless a specific need is identified, profiler support is | 485 // these issues, unless a specific need is identified, profiler support is |
486 // disabled under Cygwin. | 486 // disabled under Cygwin. |
| 487 // |
| 488 // Native Client runtime also does not have signals working. |
487 extern "C" void ProfileHandlerRegisterThread() { | 489 extern "C" void ProfileHandlerRegisterThread() { |
488 } | 490 } |
489 | 491 |
490 extern "C" ProfileHandlerToken* ProfileHandlerRegisterCallback( | 492 extern "C" ProfileHandlerToken* ProfileHandlerRegisterCallback( |
491 ProfileHandlerCallback callback, void* callback_arg) { | 493 ProfileHandlerCallback callback, void* callback_arg) { |
492 return NULL; | 494 return NULL; |
493 } | 495 } |
494 | 496 |
495 extern "C" void ProfileHandlerUnregisterCallback(ProfileHandlerToken* token) { | 497 extern "C" void ProfileHandlerUnregisterCallback(ProfileHandlerToken* token) { |
496 } | 498 } |
497 | 499 |
498 extern "C" void ProfileHandlerReset() { | 500 extern "C" void ProfileHandlerReset() { |
499 } | 501 } |
500 | 502 |
501 extern "C" void ProfileHandlerGetState(ProfileHandlerState* state) { | 503 extern "C" void ProfileHandlerGetState(ProfileHandlerState* state) { |
502 } | 504 } |
503 | 505 |
504 #endif // OS_CYGWIN | 506 #endif // !defined(OS_CYGWIN) && !defined(__native_client__) |
OLD | NEW |