[haiku-commits] haiku: hrev50479 - src/add-ons/kernel/debugger/netconsole

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 7 Aug 2016 13:47:28 +0200 (CEST)

hrev50479 adds 2 changesets to branch 'master'
old head: 289e59b770b759900006cae1f90ad4ac2bbc4384
new head: 02cb3dd4406b923be4ad52f24ade747516ca99a9
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=02cb3dd4406b+%5E289e59b770b7

----------------------------------------------------------------------------

c2ddcb795780: elf.h: also define SELFMAG
  
  - Used by distcc when it detects elf.h.

02cb3dd4406b: netconsole: style fixes, add FIXME

                                 [ Adrien Destugues <pulkomandy@xxxxxxxxx> ]

----------------------------------------------------------------------------

2 files changed, 28 insertions(+), 25 deletions(-)
headers/os/kernel/elf.h                          |  1 +
.../kernel/debugger/netconsole/netconsole.cpp    | 52 ++++++++++----------

############################################################################

Commit:      c2ddcb795780ac779f6589609f1688b4040f6573
URL:         http://cgit.haiku-os.org/haiku/commit/?id=c2ddcb795780
Author:      Adrien Destugues <pulkomandy@xxxxxxxxx>
Date:        Sun Aug  7 11:39:27 2016 UTC

elf.h: also define SELFMAG

- Used by distcc when it detects elf.h.

----------------------------------------------------------------------------

diff --git a/headers/os/kernel/elf.h b/headers/os/kernel/elf.h
index 7468f28..5155a2e 100644
--- a/headers/os/kernel/elf.h
+++ b/headers/os/kernel/elf.h
@@ -76,6 +76,7 @@ typedef struct {
 } Elf64_Ehdr;
 
 #define ELFMAG         "\x7f""ELF"
+#define SELFMAG                4
 
 /* e_ident[] indices */
 #define EI_MAG0                0

############################################################################

Revision:    hrev50479
Commit:      02cb3dd4406b923be4ad52f24ade747516ca99a9
URL:         http://cgit.haiku-os.org/haiku/commit/?id=02cb3dd4406b
Author:      Adrien Destugues <pulkomandy@xxxxxxxxx>
Date:        Sun Aug  7 11:46:12 2016 UTC

netconsole: style fixes, add FIXME

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/debugger/netconsole/netconsole.cpp 
b/src/add-ons/kernel/debugger/netconsole/netconsole.cpp
index 43a7762..304c4bf 100644
--- a/src/add-ons/kernel/debugger/netconsole/netconsole.cpp
+++ b/src/add-ons/kernel/debugger/netconsole/netconsole.cpp
@@ -23,9 +23,8 @@ static int
 createSocket()
 {
        gSocket = socket(AF_INET, SOCK_DGRAM, 0);
-       if (gSocket < 0) {
+       if (gSocket < 0)
                return B_ERROR;
-       }
 
        // bind socket
        sockaddr_in fSocketAddress;
@@ -48,8 +47,12 @@ createSocket()
 }
 
 
+// FIXME this can't work this way, because debugger_puts is called with
+// interrupts disabled and can't send to the network directly. Must be reworked
+// to use a buffer, and do the network access from another thread. A similar
+// solution is implemented to get syslog data to the syslog_daemon.
 static int
-debugger_puts(const char *s, int32 length)
+debugger_puts(const char* message, int32 length)
 {
        if (gSocket < 0)
                createSocket();
@@ -57,12 +60,12 @@ debugger_puts(const char *s, int32 length)
        if (gSocket >= 0) {
                // init server address to broadcast
                sockaddr_in fServerAddress;
-                       fServerAddress.sin_family = AF_INET;
+               fServerAddress.sin_family = AF_INET;
                fServerAddress.sin_port = htons(NETCONSOLE_PORT);
                fServerAddress.sin_addr.s_addr = htonl(INADDR_BROADCAST);
                fServerAddress.sin_len = sizeof(sockaddr_in);
 
-               return sendto(gSocket, s, length, 0,
+               return sendto(gSocket, message, length, 0,
                        (sockaddr*)&fServerAddress, sizeof(fServerAddress));
        }
 
@@ -73,29 +76,28 @@ debugger_puts(const char *s, int32 length)
 static status_t
 std_ops(int32 op, ...)
 {
-       void *handle;
+       void* handle;
        bool load = false;
 
        switch (op) {
-       case B_MODULE_INIT:
-               gSocket = -1;
-               return B_OK;
-#if 0
-               handle = load_driver_settings("kernel");
-               if (handle) {
-                       load = get_driver_boolean_parameter(handle,
-                               "netconsole_debug_output", load, true);
-                       unload_driver_settings(handle);
-               }
-               if (load) {
+               case B_MODULE_INIT:
                        gSocket = -1;
-               }
-               return load ? B_OK : B_ERROR;
+                       return B_OK;
+#if 0
+                       handle = load_driver_settings("kernel");
+                       if (handle) {
+                               load = get_driver_boolean_parameter(handle,
+                                       "netconsole_debug_output", load, true);
+                               unload_driver_settings(handle);
+                       }
+                       if (load)
+                               gSocket = -1;
+                       return load ? B_OK : B_ERROR;
 #endif
-       case B_MODULE_UNINIT:
-               if (gSocket >= 0)
-                       close(gSocket);
-               return B_OK;
+               case B_MODULE_UNINIT:
+                       if (gSocket >= 0)
+                               close(gSocket);
+                       return B_OK;
        }
        return B_BAD_VALUE;
 }
@@ -113,8 +115,8 @@ static struct debugger_module_info sModuleInfo = {
        NULL
 };
 
-module_info *modules[] = {
-       (module_info *)&sModuleInfo,
+module_info* modules[] = {
+       (module_info*)&sModuleInfo,
        NULL
 };
 


Other related posts:

  • » [haiku-commits] haiku: hrev50479 - src/add-ons/kernel/debugger/netconsole - pulkomandy