Merge changes I46a91849,I3a24afa2,I1df96964,Ic7a19073,I31db51eb,I11ed0f3e,I8fba9f5f,I04e8f0ae into kraken

* changes:
  init: Move prototypes for util.c into util.h
  init: Move signal handling to signal_handler.c
  init: Move gettime() to util.c
  init: Move property_set_fd to property_service.c
  init: Move parser prototypes to parser.h
  init: Move device_fd to devices.c
  init: Move keychords to keychords.c
  init: Move mtd functions from init.c to util.c
diff --git a/adb/adb.c b/adb/adb.c
index a34dd71..2436387 100644
--- a/adb/adb.c
+++ b/adb/adb.c
@@ -144,9 +144,6 @@
 void handle_online(void)
 {
     D("adb: online\n");
-#if !ADB_HOST
-    property_set("adb.connected","1");
-#endif
 }
 
 void handle_offline(atransport *t)
@@ -154,9 +151,6 @@
     D("adb: offline\n");
     //Close the associated usb
     run_transport_disconnects(t);
-#if !ADB_HOST
-    property_set("adb.connected","");
-#endif
 }
 
 #if TRACE_PACKETS
diff --git a/adb/file_sync_client.c b/adb/file_sync_client.c
index 0ebfe73..65d4941 100644
--- a/adb/file_sync_client.c
+++ b/adb/file_sync_client.c
@@ -959,7 +959,7 @@
         return 1;
     }
 
-    if(S_ISREG(mode) || S_ISCHR(mode) || S_ISBLK(mode)) {
+    if(S_ISREG(mode) || S_ISLNK(mode) || S_ISCHR(mode) || S_ISBLK(mode)) {
         if(stat(lpath, &st) == 0) {
             if(S_ISDIR(st.st_mode)) {
                     /* if we're copying a remote file to a local directory,
diff --git a/logcat/event.logtags b/logcat/event.logtags
index 95a16d7..f146738 100644
--- a/logcat/event.logtags
+++ b/logcat/event.logtags
@@ -104,6 +104,7 @@
 #
 20001 dvm_gc_info (custom|2),(custom|2),(custom|2),(custom|2)
 20002 dvm_gc_madvise_info (total|1|2),(zygote|1|2)
+20003 dvm_lock_sample (process|3),(main|1|5),(thread|3),(time|1|3),(file|3),(line|1|5),(sample_percent|1|6)
 
 75000 sqlite_mem_alarm_current (current|1|2)
 75001 sqlite_mem_alarm_max (max|1|2)